Is there any way to anonymize bitcoins? It doesn't need to be AML-proof, or even completely anonymize their source, I'd just like to obfuscate the source of the bitcoins more effectively than sending them through a chain of addresses that would be easy to follow.
Yes. With Zerocoin. It completely and properly and mathematically anonymizes the source, it seems. http://zerocoin.org
1) Shared send from blockchain.info is a mixing service which bundles together transactions. Consider to sending addresses, A1 and A2, and two receiving addresses, B1 and B2. A1 wants to send coins to B1 and A2 to B2. To obfuscate both of these transactions, the shared send service sends A1's coins to B2 and A2's to B1 (this is a simplified version of what actually happens but shows the main point).
2) Coins that go onto the Silk Road are "tumbled" - mixed with other coins - so if fund a Silk Road account then withdraw your funds you should have clean coins (although potentially tainted by having come from a Silk Road-associated account if that is a concern).
3) Other mixing and tumbling services are available, though with generally less history and the associated risk that either the service won't anonymise you effectively, or that your coins will just be stolen.
4) Cash sales via Local Bitcoins, or private sales could provide a useful cut-out in any money trail.
5) Generating a new address for all receiving transactions reduces the risk of traffic analysis being used to link your transactions together into a chain.
Edit Possible duplicate of this question - you might want to check for other answers there.