Is it possible to mix bitcoins without using centralized mixing services that use their reserves to do the mixing?
Not using CoinJoin or similar technologies.
It is possible, but how far are you willing to go? The cheapest and most direct methods would be using CoinJoin or a centralized mixer, other than that you are going to need to use your imagination, something like chain-hopping if you can exchange your
BTC to x crypto on P2P market and then x crypto to
BTC which is more or less like using centralized mixing while not actually using a mixer per see.
You can go as far as renting hash power and pointing it to the PPS pool and receive a fresh payment from a mining pool in a few hours, by doing this, you make it a lot more difficult for chain-analysis methods to find where your coins went to as this will require inside information from both the person/website who gave you the hashrate and the pool which paid you out, which is going to be very difficult to do, but this comes at a higher cost.