A swirl mark is not a mark on the paint. It is a scratch in the clear coat, one of thousands, each one caused by a hard particle dragged across a soft surface under pressure. Individually they are invisible. Collectively they scatter light, which is why paint looks hazy under a streetlight or in low direct sun but fine on an overcast day.
They are called swirls because of how they show up on paint washed in circles — the scratches follow the motion. Washing in straight lines does not prevent scratching but it does make it far less visible, because parallel scratches scatter light less than random ones.
The important part is that they do not wash out. There is no soap, wax or spray that removes a scratch. The only way to remove one is to level the clear coat around it down to the depth of the scratch, which is machine polishing, and it uses up a finite resource: you have a limited amount of clear coat and every correction removes some of it.
That is what makes tunnel washes expensive in the long run. The wash is cheap. The correction to undo three years of it is quoted in the hundreds, and it can only be done so many times over a car's life.