I've never heard of soaking all the way to 4 hours. 30 minutes is most common standard. That's how long I soak it for after rinsing the water clear. Then drain all of the water and add 1.5 times water to the amount of rice or about an inch above the surface of the rice in the pot. Cook on high heat til boil, stirring gently a couple of times.
You can add maybe a tablespoon of either oil or butter to the rice to prevent sticking or lumpiness, though with good quality basmati rice; not really needed. After boil has come, turn the heat down to simmer and put the lid on the pot tightly. Let it cook for about 4-5 minutes with the lid on, check it; then turn the heat all the way to high for maybe 10 seconds and turn the heat off. Leave the pot covered for another 7 minutes. Then take off the lid and gently stir the rice using only a fork as other utensils will break down the rice.