I second the "buy online" sentiment. Though there are probably many delicious yarn shops in good ol' Tronna, they're likely to have what I think of as specialty pricing. That is, sizable mark-ups so that they can afford to stay in business in Toronto.
I ordered a sweater's worth of yarn from Herrschnerr's (www.yarnsale.ca
) on Friday and got it today. Can't comment on the customer service, and the webpage is disorganized if you try to view yarns by price, but the shipping is quick and some of the sales are really awesome.
I'd also like to put my vote in for Knitwerx. There are banners here on the site, so Amy gets a bit of a kickback if we order from here.
Their shipping is also quick, and the customer service is the very best I've ever experienced - RL yarn stores included. The yarns are scrumptious and quite nicely priced, from my experience.
If you need other online yarn sources that ship to Canada, there are a few threads on the subject hidden throughout the forum... do a bit of a search and I'm sure something will show up.
If you really want to go to a physical store and touch the yarn, see if there's a Michaels within reasonable distance of you. In addition to the assortment of yarn (the ones I've been to have all had much better selection than walmart and zellers!) they have Bernat Satin on sale this week. It doesn't come in a dazzling rainbow of colours, but there are quite a few nice shades. It can be a little bit splitty to start knitting with, but I've found that it sorts itself out after the first row because of the natural twist that happens when I knit. It's also wonderfully soft, and it would make a nice snuggly sweater.
Oh, and now that I think of it, Bernat Harmony knits up nice and soft too, and our Michaels carries it as well. (Geez, I don't mean to sound like a Bernat sales rep... I just have a fair amout of experience with their yarn. :rollseyes: ) It's sort of like a boucle in texture, though... I don't know if your bf would go for a sweater in it. If it isn't going to be a surprise, take him with you when you're picking yarn and he can tell you himself.