In years past, I would either buy stamps in a Canadian post office when I was up there or order them from the Canada Post National Philatelic Centre. From the US or Canada, a toll-free number: 1-800-565-4362. They have their own web site:http://www.canadapost.ca/personal/collecting/default-e.asp
I have tried online ordering from this branch of Canada Post in the past, unsuccessfully, so I would place all my orders over the phone. They didn't charge shipping on orders, and with the orders being shipped out of Canada I avoided any Canadian sales tax that would be charged at a post office.
There is now a new web site to shop for stuff from Canada Post: http://www.shopcanadapost.ca/
which I have not tried yet. I might try that, especially with an upcoming rate increase that will force me to get some smaller stamps to go with all the 49-cent stamps I have had for a few years (a previous rate for domestic mail up there, I'd put two of those stamps on my SASEs going to Canada).
IRCs are not a good value for getting QSLs from Canada, when you can get stamps for just over US$ 1 per SASE directly from Canada Post instead of spending US$ 2 for a new IRC from USPS. If you get IRCs from other hams, you may be able to get them for a lower price, but probably higher than getting the Canadian stamps. Putting a US$ 1 bill in the envelope may work for some hams up there, despite the fact that you would be a couple pennies short of paying for the Canada-to-USA postage.
Good luck and 73!