99% of swirls are caused by improper washing. Most people simply don't know how to wash a car properly. Most people use sponges they shouldn't use, don't rinse their washing media throughly or often enough, don't pre-spray, use old hard rough towels to dry. Keeping swirls away is pretty easy when you know how to wash.
1. Always use a high quality wash mitt, sheepskin, chenille, microfiber.
2. Only wash in straight strokes, never touch your car in a circle.
3. Wash from top to bottom, rinsing the mitt every panel.
That said some swirls are unavodable. I take ~ 2 hours to wash my car being VERY careful and I still get minor swirling that has to be removed from time to time, but washing carefully will rid you of the bad swirls everyone can see.