Bring the green backs and exchange it at Bank of China or other banks is the common way. They do require the passport though. And sometimes the wait time could be long (I found out Friday is usually bad). But it is not very safe if you have large amount of cash. So I tried the Citi Bank card this time but they charge me 1% fee. There is a way to get around it.
Open a checking account from Bank of America (BOA) and get a Visa Check card. BOA has agreement with China Construction Bank (CCB). It is said that you can withdraw RMB using the Visa Check card (market conversion rate for USD to RMB) at CCB ATM machines. Better yet, if you open a checking acct from BOA, they will credit $50 or $100 depending on the account type. Pretty cool, huh?