how should he swap them to keep them anonymous? using any centralized exchange would make them known to him again. which would kill the whole point.
I think A Good mixer is still better than all these hassles.
He has to use a privacy focused exchange for the btc <-> xmr trades.
For instance exch.cx
1. no typical kyc/aml policies
2. has an onion version, works without JS, no cloudflare
3. does not use 3rd party liquidity provider
You get to choose from 2 pools of btc as well; one having less chances of getting flagged by custodians but less privacy or more privacy but higher chances of getting flagged.
But a reputable mixer is okay too if you don't want the extra hassle.