The best method is to set up and use JoinMarket -
https://github.com/JoinMarket-Org/joinmarket-clientserverYou run the software yourself via your own node, connect to other users in a peer to peer manner over Tor, and there is no centralized coordinator. It also gives you the most options in terms of customizing your fees, size of your coins, outputs, and so on. It is the best coinjoin implementation at present. However, it is also the most technical to set up and use. There are very good guides on their GitHub, and I have no doubt that a user such as yourself would be able to get it set up and running, but it will take a bit of time and work to do so.
The other option is using Samourai's Whirlpool, as is being discussed in this thread. Whirlpool does use a central coordinator, so it is absolutely vital that you use it with your own node and Tor to keep your privacy from the central coordinator. Your best options at the moment for connecting to Whirlpool are either Samourai wallet on mobile or Sparrow wallet on desktop. There are some other wallets starting to develop Whirlpool access as well, but I haven't tried or reviewed them so I won't recommend them. Again, there are good guides and both wallets provide a nice friendly GUI so they are much easier to set up and use than JoinMarket.
Regardless of which one you choose, I would spend some time reading about that specific implementation works, how it handles things like toxic change, and the steps you need to take to not mess up and negate the privacy it provides.