I found that using a credit card cost the same exchange rate as what it would cost to purchase US travelers cheques. The only way we can get around it is to get a preferred exchange rate -- my wife is employed by a major bank, and we sometimes do this. However, we're terrible at estimating how much we need and it seems like a waste to return with a few hundred extra $US. By going the credit card route, we pay a bit more in fees, but spend only what we need.
FYI, check your credit card agreements for the fee structure. Mine is 2.5%, but this rate can vary significantly between different companies.
Like he says! Anytime you exchange currency (credit card, traveller cheque, cash), you pay a fee, because the bank has to make some money out of it. It varies, but the 2.5% on my Mastercard is not so bad, and it's convenient. On cash withdrawal, I think it's 2% at my bank, but since my mom works there, I just call her and she takes money in her name which saves me that 2% (employee rate). I don't mind coming back home with extra cash, as we're crossing quite often, but we take max 500$ at one time (comfort level), which means a saving of... 10$ on a 3000$ vacation!! I call my mom mostly because it's easier, no lines, and I drop at her house to get my cash. I've stopped bothering a long time ago about the exchange fee.