If you want to launder money, it's extremely stupid to use a form of digital cash in which all transactions are public and any amateur data miner can have a go at tracing the transactions.
To add to this point, bitcoin transactions are not just public, they're permanently verifiable.
By making a transaction with an address you're not just telling anybody who knows you own that address that you've made a transaction; you've allowed anyone who later discovers you owned that address to prove you made that transaction, for the rest of history.
Couldn't you launder them through places like Silk Road? Set up a number of fake buyer/seller accounts and complete fake trades. I think the transactions go through a centralized escrow account which means they'd get mixed up with other people's? If you made your transactions equal in price to those of other users, it would make it pretty difficult to tell how the coins moved in and out.
It's called bitcoin tumbling. There a quite a few services that obscure the transfer of bitcoins by trasnfering randomized amounts to hundreds of different wallets before sending it to a central account.
But as someone pointed out in another HN thread, there is always a risk the tumbling service could be a legal risk if it's even taken over by a state entity, because they could technically know which wallets are being used.
If you want to launder money, it's extremely stupid to use a form of digital cash in which all transactions are public and any amateur data miner can have a go at tracing the transactions.