I just got back from Banff and Jasper National Parks (both in Alberta, not BC). The towns of Banff, Lake Louise, and Jasper were all crowded, but Jasper was tolerable. Not much to see/do in any of the towns unless you're into visiting numerous gift shops that all sell the same stuff. I did the Plain of Six Glaciers hike (past Lake Louise, to the tea house), and it wasn't very crowded going up (started around 8am), but it was getting more and more crowded as we returned, so the advice to go early is good. It's a beautiful hike, so I can see why it's popular. And yes, pack your own lunch and skip the tea house altogether. The drive from Jasper to Banff is beautiful, and there are several areas where you can pull off and admire the view.
The Okanagan area is very nice, and this time of year there's lots of good, fresh produce! I stayed in a B&B in Penticton a few years ago and loved it. I don't know what the crowds would be like this time of year; I was there in the summer, but I had my dog with me, so I didn't venture out much. Mostly just relaxed at the B&B overlooking the lake.