Charles Schwab has no foreign exchange fees on their ATM or credit cards.
Most credit cards charge 2-3% foreign exchange fee, but you do still get the miles/points to soften the blow. Plus you have many protections with credit cards that you don't have with cash.