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.