It's a pretty straightforward "open jaw"-type itinerary, so most online booking sites (including airlines' own sites) should cope with it. I just stuck some random dates in August into the "multiple destinations" option on ebookers.com and it came back with dozens of options from WestJet (starting around GBP 960, departing LGW) and Air Canada (starting around GBP 1100, departing LHR). You could also try a true open jaw, booking London-Montreal and Vancouver-London on one ticket (should be similar price to a simple return ticket), and booking the domestic sector separately. May work out cheaper - or not.
I am still searching for an online site that sensibly handles more complex itineraries.