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.
Its a win if people standardize the amounts they want to mix, so .1, 1btc, 10btc and 100btc - This can be a best practices thing with it just the unwritten rule those are the increments or a drop-down preset option for this trade-for-same transaction.
But, again, there can only be two parties to a trade, right? And it's an atomic transaction, right? If I trade 1BTC to you, in return for 1BTC from you, we both end up with 1BTC, and both of our BTC's can be traced to the transaction where we openly and transparently swapped 1BTC for 1BTC. Such a transaction could never be mistaken for anything other than an attempt to obfuscate, and it really doesn't even do a good job of that.
CoinJoin and Darksend work because they have a BUNCH of inputs from a BUNCH of addresses, all sending (say) 10 DRK as input, all receiving different outputs, where all of the outputs are to new wallet addresses and/or third parties, and everything is bundled into one large transaction that is signed by all sending addresses so that it is impossible to match up the inputs with the outputs, since the inputs are all standardized and the outputs are in randomized order.
The whole reason why it works is that it takes coins from more than 2 senders, so there is some plausible deniability there. If you and I both have 10 $1 bills, and we each drop the $1 bills into a hat, and then we each pull out $10 from the hat and go on our separate ways, there's no denying what the hell is going on. It's a pointless transaction. We each put in $10, and we each took out $10.
But now think if 20 people (let's call them A_1 through A_20) walk up to the hat, and each of them deposits 10 $1 bills, so there's now $200 in the hat. Now 20 new people (B_1 through B_20) walk up and withdraw varying amounts out of the hat -- some take $1, some take $9, some take $10, some take $5 -- it's impossible for an outside observer to determine which of the depositors gave the money to which of the withdrawers. (And of course some of the withdrawers are proxies for the original depositors anyway -- i.e., new wallet addresses or even stealth addresses.) If the police come up to A_3 afterwards and say "Hey! You sent money to B_17, who is a drug dealer!" then they can never prove it because there were 19 other people acting as senders in the transaction, and any one of them could have been the one who sent the money to B_17.