Best way is to always use a CC (w/o a foreign transaction fee) wherever it's accepted. A google search can help you find a good one. Chase's hyatt card is one example.
For withdrawing cash:
If you have a paypal account, you may want to look into getting their debit/ATM card:
https://personal.paypal.com/cgi-bin/..._us/debit_card
From the user agreement:
https://cms.paypal.com/cgi-bin/marke...DebitCard_full
Non-US ATM Transaction (Using an ATM machine that is not in the US) 1% This fee will apply even if the transaction does not require a currency conversion.
I spoke to a CSR about this and it's actually $1 plus 1% for a withdrawal. Limit is $400, so it would cost $5 to withdraw $400. The card uses the cirrus/mastercard network. I only use this card to withdraw cash from a foreign ATM; I don't use it for purchases or anything so I can't attest to the fees associated with that.
I have my paypal acct linked to my checking and can just add/monitor my funds from there. ^