I decided to go with PlanetPayment and an account with a Canadian bank. PlanetPayment's rates, if you're settling in Canadian dollars, are:
Monthly fee: US$25
Discount fee: 4.25%
Transaction fee: none
That's a very good deal for web hosting, which typically involves small monthly amounts. The other advantage is that you can accept payment in multiple currencies...you may lose a tad on the currency exchange, but it's still better than billing in Canadian dollars and upsetting your customers with currency exchange fees of 5% or more.