The win might have come at a price, as standout goalie Roberto Luongo left early in the game with an apparent injury to his left leg. No official word on his condition was immediately available.
Curtis Sanford stopped 17 of 18 shots to earn the win in relief.
Vancouver improved to 7-0-2 in its past nine games.
Daniel Sedin scored for the Canucks, and his brother Henrik assisted on all three goals.
Mike Zigomanis scored for the Penguins, and Dany Sabourin stopped 16 of 18 shots.
Pittsburgh lost during regulation for the first time in nine games, going 7-1-1 in that span.
Henrik Sedin has a four-game point streak, and Daniel Sedin and Demitra each have tallied at least a point in five consecutive games.
Luongo left the game less than 5 minutes into the first period after appearing to make a routine save on a shot by Philippe Boucher. The two-time Vezina Trophy finalist collapsed to the ice and was helped off without putting weight on his left leg during the stoppage in play.
Demitra scored his sixth with 1:55 to play in the opening period, when his initial shot from left of Sabourin was flipped into the air and into the opposite side of the crease. Demitra went behind the net to that side and slammed the puck home.
The Sedin twins each assisted on that goal, and they combined to give the Canucks a 2-0 lead 6:50 into the second.
SENATORS 4, RANGERS 1
In Ottawa, Daniel Alfredsson and Jesse Winchester scored late in the second period, and Ottawa defeated New York to end a six-game skid.
Jason Spezza and Nick Foligno also scored for the Senators, who got their first victory since a 4-1 win over Philadelphia on Nov. 6. Ottawa had lost each of its past two games in a shootout, including a 2-1 setback against the Rangers on Monday.
Steve Valiquette made 32 saves and Markus Naslund scored his seventh goal of the season for the Rangers, who have lost nine of their past 11 in Ottawa.