Well, it's not quite darksend (because as far as I can tell, your sending address ends up with the same amount of XCP that it put in; you can't have the mixed XCP end up in an arbitrary address, right?); but it is decentralized, trustless coinmixing. Although it only works between two parties, right? And they both have to contribute the same amount, and they both receive the same amount.... So it's not a huge win for anonymity/privacy, although it is a tool that can be used for greater obfuscation.
You certainly can have mixed XCP (or any asset) end up in different addresses by placing multiple orders on the exchange simultaneously.
I place an order, I want to exchange 20 XCP for 20 XCP. Somebody else comes along and matches the order. Their 20 XCP go to me, my 20 XCP go to them. Unless I am able to redirect the resultant 20 XCP to a 2nd address instead of my original address? In other words, can there be a third party involved in an exchange transaction? (Even if there were, it would be pretty transparent.... the redirect address / third party would be directly linked to the first party, as the third party would receive the proceeds from the exchange rather than the first party.)
Also, it works between more than two parties because the network matches partial orders too. So, for example, you can place an order of 100XCP for 100XCP and you can place another order from a different address of 50XCP for 50XCP. You get the 50XCP match (swap) and other users can match the rest of the 100XCP order. In this simple example you have mixed the coins a little bit with yourself (your pseudonyms) and a little bit with others. This all comes with the plausible deniabliity of the trades verifiably having gone through the decentralized exchange. You have now broken any chain of deanonymized transactions at that address. Feel free to simply send the balance to any arbitrary address of your choice at that stage to start from a clean slate.
Best practice must now be established for mixing within Counterparty.
But each one of the trades will be shown atomically on the blockchain, right? So the partial match, 50XCP from you to somebody else, and 50XCP from them to you. The 50XCP from the original 100XCP order still remain outstanding, but there's no disguising the 50XCP that are actually exchanged. It doesn't happen like a multisig situation where all of the matching orders (totaling 100XCP) go through in one large transaction, right?