Almost always washing. Not the road, not the weather — the mitt, the towel and the brush wash.
Swirl marks are thousands of fine scratches in the clear coat. Individually they are invisible; together they scatter sunlight into the halo pattern you see around a light source on a bonnet. Around ninety percent of them are put there during cleaning.
Swirls are removed by machine polishing — levelling the clear coat very slightly so the scratch walls disappear. There is a finite amount of clear coat, so it should be measured and done properly rather than repeated every year by whoever is cheapest. Fillers and glazes hide swirls temporarily and wash out within weeks.
Once corrected, a coating is what keeps them from coming straight back: a slicker surface means less friction during washing, and far more tolerance for the imperfect washes real life involves.