I second poonyman's advice. And, you can apply these principles for any destination. I would go even further now that the Canadian dollar has risen to 1970s levels. Bring your C$ with you. Most developing nations have street level currency traders, and they will always beat the local banks. However, if you only feel safe working with the banks, their rates will best Canadian bank rates.
The value of a currency on the street is a balance between banks, legit currency traders and the all-important black market. Foreign "hard" currencies are worth more to them as they represent "hard" cash against their weak and hard to trade equivalents. The Canadian dollar is a "hard" currency - it's backed up by a strong resource based economy; something that is in high demand anytime by powerful nations that are starved for this. Try to buy Brazilian Reals in SE Asia, and you'll understand the meaning of portable currencies - you won't find them anywhere, unlike C$, which can be traded both ways. Canadian dollars, like their US counterparts are highly prized and valued in all countries.
Stay away from the airport boys; they pay high rents which they pass on to you...
Keep an eye on this site:
http://www.x-rates.com/d/CAD/table.html