Depending on the volume of transactions, perhaps look into opening a US bank account. There are options out there for Canadian citizens.

Looks like TD Bank offers the ability to transfer from a US account to a Canadian account.

I'm not sure what the fees are.

EDIT:

When I was living in Mexico, I used Wells Fargo's ExpressSend service that allowed me to do transfers at pretty close to market exchange rate for a flat $5 fee, although there were daily/monthly limits. Money went straight from my US account to my Mexican account in a matter of minutes (perhaps 20 minutes or so.) Not sure if there's something similar out there for Canada.