+1 on towel drying after wash. Get an absorbent microfiber cloth and use it only for drying a clean car. The ones I've used, the waffle pattern weave worked well, but just get a good microfiber towel for drying the car after final rinse. idea is that you soak up the water before it has a chance to naturally concentrate down to whatever additives are in tap water, which is where the spots come from.
That, or use filtered water for your final rinse. My dad uses lots of meguiars products, swears by 'em, so if they have something specifically for water spots, might be worth trying out.
I'm actually intrigued by the vinegar idea, I just feel that distilled water or just drying is probably safer than applying acid of any sort