https://github.com/bitcoin/bitcoin/issues/6568
One of the responses is intriguing, and highlights a known weakness in CoinJoin (and also affects Darksend):
This got me thinking, what if your client could appear as two (or more) clients by submitting two DarkSend inputs to be mixed nearly simultaneously (with possibly different numbers of mixing sessions)? Now a malicious attacker would be unable to completely back out from his own mixes which inputs are owned by whom. Put in the above terms, if the attacker is submitting 3 inputs and your client is submitting 2 (or more) inputs, the attacker cannot know which outputs are yours. Put another way, you would use your own wallet's coins to provide additional liquidity.
Obviously this technique would not be immune to network traffic analysis, but what's recorded on the blockchain would preserve the 'plausible deniability' of coin ownership.
But don't those odds get quite low with multiple rounds of Darksend?
If the attacker is acting as a continuous 'liquidity provider' with, say 3 wallets, he could still fully back out an 8 round DarkSend mix with just you. The outputs that don't come back to his wallets are yours. Right?
Yes, if he's the only one on the network that's mixing other than you. That's got to be pretty unlikely for a full 8 round Darksend. But you raise a good point! Impossible is way better than unlikely.
The system does not mix with the same partners through several rounds so I dont think this would apply to Darksend.