Canada has won the summer hockey tournament six years in a row, and 18 of the past 23 times since it began in 1991.
The Canadians took a step toward adding another title by spreading the scoring out and getting a solid performance in goal from Zachary Sawchenko.
Dylan Strome, Lawson Crouse, Mitchell Vande Sompel and Mitchell Stephens had the other goals for Canada, while Sawchenko made 20 saves.
"We've jelled together quite a bit lately, and it's really easy for me to play in front of this group," Sawchenko said.
Canada coach Jody Hull said the team is coming together despite having just three practices and one exhibition game before Monday's contest.
"Everything's happening pretty quick with this group of guys, but they're all professional and they all understand what it takes to win," Hull said.
Dominik Schmid had the lone goal for Switzerland. Tim Guggisberg gave up all five Canada goals on 27 shots, while Joren Van Pottelberghe stopped all nine shots he faced in relief.
Canada continues group play against Sweden on Tuesday.
"We're going to expect speed," goaltending coach Corey Hirsch said of the Swedes. "They're always a quick team and they'll be well coached. You've got to be patient, attack when you can attack and play a smarter game."
Canada started quickly with Strome scoring at 7:27 of the first period. Barzal, who played with Canada's bronze-winning team at the U18 world championships earlier this year, made it 2-0 under three minutes later.
Crouse and Vande Sompel scored in the first half of the second period to give Canada a 4-0 lead halfway though the game.
Schmid scored one minute after Vande Sompel's goal to give Switzerland some life.
"We got out of our comfort zone a little bit, but as the game wet on I thought we got back to playing the proper way," Hull said.
Stephens got Canada back on track with a goal at 2:21 of the third period, and the Canadians shut Switzerland down for the victory.
Both teams struggled on the power play, with Canada going 0-for-6 and Switzerland going 0-for-5.