if you want to transfer CAD from Canada into USD in the states, you might try to use a Chase Canada credit card (such as the Marriott or Amazon) to credit your amazon money account in the states, (limit of 1000 per month,) as Chase is the only bank in Canada that doesn't charge a Forex fee.
you might need to enter a US address, but i know it works.
Great for some free manufactured spend, (something you can't easily find in Canada)