You are taking the necessary precautions, but even if you use top shelf microfiber and ensure that the product you're using has good lubricity, some swirling is inevitable. Especially with frequent washing and polishing. It is also likely and possible that any shop that provides a "free car wash" could have introduced the swirls.
An abrasive polish is the only way to actually remove them. As you said, a protectant "polish" can help hide them to minimize the number of times you will need to use an abrasive polish.
I will recommend, if you want multiple coats of a protective sealant like Zaino, apply them in sequence, layered on top of one another, rather than spacing the applications out over weeks. Each time contaminants make their way onto the paint, you need to remove them to prevent you working them into the paint and causing swirls.