I personally use two methods: HODLHODL and PeachBitcoin
Those are P2P exchange, there's always a risk you might receive tainted coins, since @OP looking to avoid received tainted coins, unfortunately he need to avoid it.
2. If the dont have bitcoin to send from centralized exchanges then you can simply give them a custodial wallet address first to send the coin into and then you can actually transfer it yourself to an exchange, this reduces the risk of receiving tainted coins directly into your exchange
It's true if you gave them your self custody wallet, the coins will not be directly send to the centralized exchange.
But, that's called as "concealing transaction", few centralized exchanges stated they do take action against people who try to concealing their source which linked to illegal thing. So there's no point for doing it.
3. There is nothing bad about the P2P if only it is done on that exchange, the exchange will have not allowed the P2P with tainted coins on their platform
That's correct, KYC P2P will not have any problem.