Bus AND ferry, unless you fly. The Malaspina bus is the way to go, unless you want to go to the airport(easy to do from the Skytrain station across the street from the bus station) and fly to Powell River. It can be fairly cheap if they have a seat sale going on, and it's only a 25 minute or so flight. Pacific Coastal Airlines, in the kind of plane I've heard called "the flying drainpipe".
It would take far more time to cross to Vancouver Island and then back to the mainland to Powell River than to go any other way. Probably take you all day and you'd have to work the timing out pretty carefully.
The ferry from Horseshoe Bay is 45 minutes/an hour to Langdale, then there's an hour and a half/two hour drive, then a 1/2 hour ferry ride and 1/2 hour drive into Powell River. That's the route the Malaspina bus takes, though it takes longer because the times I gave are if you drive your own car.
It would take you about an hour to take a city bus to Horseshoe Bay from the bus terminal. There is no bus line that will take you direct from Vancouver to Courtenay/Comox except the IslandLink shuttle and they don't stop at the Vancouver bus terminal. Not cheap, either.
If you go from Horseshoe Bay to Nanaimo, it's an hour and a half on that boat, then it's another hour and a half minimum to Courtenay/Comox, with only one bus a day going from Nanaimo to Courtenay, then you have to get a city bus to the ferry terminal at Little River near Comox, that ferry only goes 4 times a day, takes an hour and 20 minutes, drops you right in the middle of Powell River.