I'll have to compare exchange rates, but I always carry some Canadian cash on me (only place I go to outside the States), and the exchange outfit at DCA waives fees when I present my company ID. I'm sure you can find similar privileges at other airports. It's just another POS transaction on my debit card, and I don't have to worry about paying foreign use fees or having a card get suspended for "suspicious" activity.
Also, cash transactions are much harder to trace, for anyone who might be a bit paranoid. I'm not - I am just an old school, old fart cash type of guy.