Aaron Dell made 35 saves for the Sharks (21-25-4), who went 0-3-0 on a three-game road trip.
"We just stopped everything that was successful," Dell said. "This is pretty much the ramification of that. I don't know why it changed or when it changed. It's back to the team from last month, kind of."
San Jose was 2-9-2 in December but started January 4-1-1 before this road trip. The Sharks had three shots in the first period, four in the second and 18 overall, one above their season low.
"We pretty much didn't show up the whole game," Dell said. "That's what is going to happen."
Despite controlling play and dominating in shots, the Canucks didn't score until Loui Eriksson made it 1-0 at 14:05 of the second period after Pearson whiffed on a shot from the slot. The puck rolled to Sharks defenseman Erik Karlsson in the slot, but Eriksson lifted Karlsson's stick, then knocked the loose puck past Dell on his backhand.
"We had some good chances before and I was just was trying to be in front and was able to lift Karlsson's stick and get the shot through and it was nice to see it go in," Eriksson said.
Pearson deflected a Virtanen slap pass on a power play to make it 2-0 at 5:01 of the third period. It was Vancouver's 43rd power-play goal, matching their total from last season.
"When we get our opportunity to get out there as a second power-play unit we want to make sure we're out there getting shots and I thought we did that in the second," Virtanen said. "We had the whole two minutes down there and we were moving around, snapping it around, and we end up cashing the one to [Pearson] there, so it was great."
Barclay Goodrow scored in a scramble atop the crease to cut it to 2-1 at 7:09, but Quinn Hughes pushed the lead to 3-1 with a deflected point shot through traffic at 7:46.
"I don't think today was a game I would say we didn't compete," Sharks coach Bob Boughner said. "We didn't have enough offense. It seemed every time we started getting going something would happen. We'd take a penalty, or they would come down and get a quick one."
J.T. Miller converted on a two-on-one pass from Virtanen to make it 4-1 at 15:27.
"In a game like that, you're peppering their goalie, he's saving them all and they're not getting any shots," Pearson said. "It can go one way or another and good thing it went our way."