I'm sure somebody somewhere would/will be happy to sell you bitcoins anonymously; just put cash and a bitcoin receiving address in an envelope and mail it. The exchange (who you'd have to trust to actually send you the coins) takes the cash and send coins to the address. They have no idea who you are, and your identity isn't linked to the coins.
Well, it isn't linked to the coins until you forget to turn on TOR or I2P before spending coins on something illegal. Or you remain completely and utterly anonymous right up until you spend coins on something physical and have it shipped to your home address. Or you arrange to have contraband "dead dropped" somewhere, and you get arrested when you go to pick it up.
None of which have anything to do with Bitcoins, and all of which seem to me to be more likely ways of getting into trouble than somebody managing to figure out that "transaction for purchase of illegal stuff" is linked to "Gavin purchased a bunch of Bitcoins from Bobby's Discount Bitcoin Emporium" last year.
The lack of anonymity is the worst thing in the Bitcoin protocol. In my opinion the anonymity should be fixed urgently if you want Bitcoin to be adopted my mainstream people! Most people who heard about bitcoin doesn't know their transactions could be traced. When they realize that they say bye bye Bitcoin. I was very enthusiastic about Bitcoin, I bought some domains and was going to build some websites but when I realize the lack of anonymity I stopped all my plans. Yes I know, there are work arounds but why should I use a system that involve work arounds in order to not be traced ?! If I use banks at least I know only a few people/institutions can see my transactions, using Bitcoin anybody can see my transactions, that's horror !!!
Why don't adopt zerocoin solution ? , it add complexity to protocol but mainstream people don't care about technical things, they just want an easy to use, cheap system...