Anonymity is very difficult, especially with blockchain-based systems where so much data has to be public, but also in other areas (eg. there are several known weaknesses with Tor). You should always operate with the expectation that any anonymity system you use will eventually fail you. If you're ever confident in your anonymity, then you're wrong.
That said, there are two halfway-decent mixing methods currently:
#1 - Wasabi wallet
The Wasabi wallet uses CoinJoin in order to anonymize BTC.
- Pros: Easy to use; fairly cheap ~0.15% fee; pretty good privacy; automatically uses Tor
- Cons: ~0.1BTC minimum; with a great deal of effort and investigation, transaction analysis may still be possible, especially if you leave other traces; the coordinator could possibly do an active sybil attack against specific coins
#2 - Monero
Monero is not a magic black box which provides perfect anonymity! If you use eg. flyp.me to buy XMR and then quickly sell this XMR on flyp.me again, it is blatantly obvious to flyp.me what you've done (if they keep logs), both due to the amounts and the specific Monero inputs used. In order to get decent privacy, you have to do something like this:
1. Convert BTC to XMR (using your own Monero wallet, not a hosted wallet).
2. In two or more transactions of random amounts, move XMR from that wallet to a different wallet/account.
3. Optionally, you can repeat the above step with additional wallets/accounts for greater anonymity.
4. Preferably in two or more transactions of random amounts, convert the XMR in your last wallet in the chain to BTC.
Ideally, all of the above should be performed over as long a period of time as you can tolerate.
- Pros: Possibly the best anonymity, especially if you're able to stay within the XMR ecosystem to some extent
- Cons: You should use Tor with Monero, but you have to set this up manually; it's all more difficult; you're exposed to exchange rate risk; transaction fees may be significant
Anonymity comparison between the two
Both Wasabi and Monero can be thought of in terms of "anonymity sets". If you're spending some BTC with an anonymity set of 50, this means that an observer can see that the sender is one of 50 people, but they can't tell which. So someone investigating a particular transaction you sent would have you "in their sights" to a certain extent from the start since you're among the 50, but in order to prove that you sent it, they'd have to either eliminate 49 other people from consideration or find some other evidence linking you to it.
Wasabi always aims for an anonymity set of 50 when mixing. Monero has an anonymity set of 11 per transaction. If you cascade transactions as I suggest above, then this multiplies, so after two transactions you have an anonymity set of 11*11=121, and after a cascade of three you'd have an anonymity set of 1331.
The quality of each member in the anonymity set isn't quite comparable, though. Monero is able to hide transaction amounts, which is helpful, but I tend to consider the quality of Monero anonymity-set-members to be lower on average, since many are probably owned by hosted wallets or other possible global adversaries.
See also
https://en.bitcoin.it/wiki/Privacy
P.S.
If services like ChipMixer operated based on blinded bearer certificates, then they'd be in many ways superior to both of the above mixing methods. Someone should work on this.
Chipmixer isnt expensive. Well BitMixer has just been shutdown, so no need to discuss about it.
ChipMixer follows a completely different approach which isnt bad at all.
Tumble with Monero isn't for beginners and it requires sometimes or I would say most time to go through some exchanges a.ka. "centralized exchanges". But with some effort, you can achieve it.
I would say, cascade your transactions by not trusting just 1 "person".
And it's possible to achieve some degree of anonymity with your habits and without using a single mixer.