Water spots are really easy to prevent.
For anyone who doesn't know, water spots are simply mineral deposits that were disolved in the water. If you remove the minerals from the water (deionized water), you won't get any water spots. No need to dry your vehicle!
Here's what I did...
I got a Reverse Osmosis system from Lowes
(I'm sure the brand doesn't matter, but I believe mine is a Whirlpool). I have it hooked up in my garage with a 1/4 turn ball valve on the output hose. I use normal tap water to wash the truck (like other people have said... keep it wet!), but I rinse with the RO water. I get everything set up to wash, then I stick a 5-gallon bucket under the RO hose and open the valve. I wash the truck, and about the time I'm done, the bucket is about full (The output pressure is really low). I pour about a third of it over the roof, then some on the hood, each side, and the tailgate.
I've been doing it for years. The RO systems are relatively cheap (I think I paid $70 dollars for mine... though I don't really remember).