I guess I wasn't going that deep.. just pointing out that coinjoin still leaves blockchain taint. Whereas something like me and you swapping private keys or another off chain solution like a third party tumbler does not leave block chain taint. Of course nothing is perfect as you point out so I do support any improvement in privacy.
I think you're confused. An off-line tumbler would still have taint from all the people who use it. As for swapping private keys.. I see no way to do that safely without hitting the block chain.