I have experience with using Deutsche Bank ATMs to get cash from a Bank of America account. BoA don't charge a transaction
fee if you use ATMs from the "ATM Global Alliance" which includes Deutsche Bank, Bank of America, Barclays, BNP Paribas, Westpac (AU & NZ) and others. However, they do use the "cash" rate for the currency transaction, and furthermore usually load an additional 1% fee on the amount withdrawn. The latter fees are pretty much the same with all banks, and about the same as using PayPal. If you've got to move more than a few hundred dollars, you're usually better off using Telegraphic Transfers ("Wires") which you AFAICT you can only do in-person at the BoA branches. Alternatively, you can use a foreign exchange processor like XE.com (which I have used, and which I rate highly).
Overall, if you're only travelling through, or only withdrawing small amounts each time, stick with ATM withdrawals between member banks of the ATM global alliance. I can't comment on banks outside the alliance, although I have heard that some have alliances with certain banks in some countries.
Global ATM Alliance