I've used Amex internationally for a long time at 2% - that is my max for FX fees. I just dumped my MBNA card because they cranked it to 3% (this was for my Quantum card, supposedly their best customers - not anymore!).
I use Citibank for my checking account, and they charge 1% on foreign ATM withdrawls, and $2 for a non-Citi ATM (international or domestic). No $2 fee if you use a Citibank ATM (but you still get nailed with the 1% over interbank), which can be quite plentiful in certain countries.
Washington Mutual is still charging Interbank on ATM withdrawls (when I talked to them last week) but with a $4 ATM fee.