OK. So Coinjoin we can consider it decentralized, I guess that's the main difference.
It's more decentralized than other mixing solutions, but there are still some parts that can be centralized, like we saw in case with Wasabi wallet.
Joinmarket would be much better and more decentralized than all other mixing options.
This is an open question to the community, do you see any value in having a fully decentralized non-custodial BTC mixer? I am currently building a centralized solution with some unique features, but I got some ideas for how to make a decentralized one work and am trying to decide if it's worth the hassle to work on it.
In V1 (centralized) that will be launched in the following days users will have the option to choose from 2 mixing methods. The 'fast' one, which is similar to the other solutions available (you deposit and select how many withdrawal addresses/amounts/elapsed time you prefer and done you will receive your funds according to the schedule you set), or the 'slow' one, which works in a similar way to Tornado Cash if any of you are familiar with that. How it works is a user would go on the platform and generate a "Note", afterwards he deposits funds into the specified address and they get credited to his "Note". Then he can withdraw any amount from it at any point in time. So for example you could withdraw 20% of the balance after 2 days, another 30% after 1 week and the rest after 1 month, thus making it close to impossible to track movement of funds. And with more time passing and more BTC/deposits/withdrawals are performed the anonimity gets stronger and stronger. PERFECT privacy for Bitcoin doesen't exist, but I believe this model is as close as you can get to it. If you use it the correct way there is no possible way to prove your funds are coming from a specific address unlike some other solutions where it may be harder to do but nonetheless feasible.
In the possible V2 I am envisioning the process would stay pretty much the same except for the fact that anyone will be able to become a "validator" and so the protocol will become fully decentralized, meaning that it cannot be changed or tampered with by anyone - not even the original developers.