My bank (Wachovia, which sucks by the way) charges $2 for a non-Wachovia ATM fee (that's universal inc. non-Wach US ATMs) and then a small percent for overseas transactions.
It's not too bad. I took a fistful of USD and walked into a Bank of Beijing Branch and got a rate of 7.57RMB/$1 which is not too far off the official interbank rate of about 7.70/$1 and no service fees on top of it so I did ok there.
I find most local bank forex counters give pretty good rates but really not any better if I did it myself at the ATM.