Just before it rains, the moisture being held in the clouds is quite heavy. Even a small cumulus cloud can weigh hundreds of tons. There are two basic reasons moisture in clouds can remain at high altitude before falling down as rain drops.
First of all, many of the moisture particles in clouds are very small. These tiny droplets (or ice crystals) are extremely tiny, about one micron in size, so they remain buoyant. However, as they begin to grow, rising air continues to keep this moisture at cloud level. If the rising air is weak, there is not as much force keeping the droplets elevated, but there is also not as much moisture to begin with. Stronger vertical motions can keep larger droplets elevated, but these conditions also produce more and larger drops.
At a certain point the droplets become heavy enough to overcome the force of the rising air, and all that water falls to the ground. During severe thunderstorms, this rising air can exceed 100 mph at times.