Josh Morrissey of the Prince Albert Raiders and Laurent Dauphin of the Chicoutimi Sagueneens scored two goals apiece to help Canada improve to 3-0 in preliminary-round play. Six other players scored for Canada and Spencer Martin of the Mississauga Steelheads made 20 saves for the win.
"All four lines competed very hard and we kind of wore the Swiss down as the game progressed," said head coach Don Hay. "So I was just really happy with the total team effort."
Canada had a 2-0 lead after 20 minutes and put the game away with six goals in the second period.
Zach Nastasiuk of the Owen Sound Attack, Sam Bennett of the Kingston Frontenacs, Morgan Klimchuk of the Regina Pats, Nick Baptiste of the Sudbury Wolves, Dillon Heatherington of the Swift Current Broncos and Sam Reinhart of the Kootenay Ice had Canada's other goals.
Canada opened the tournament last week with a 4-1 win over Slovakia and followed it up with a 3-1 victory over Germany. Canada will play undefeated Sweden on Tuesday in the preliminary-round finale for both teams.
"I think we've gotten better each game and that's a real positive situation for us to be going into the next game against the Swedes with," Hay said.
Denis Malgin had the lone goal for Switzerland.
Swiss netminder Nicola Aeberhard was pulled after the second period and replaced by Ludovic Waeber. Aeberhard stopped 15 of 23 shots while Waeber stopped 10 of the 12 shots he faced.
Quarter-final play is set to begin Thursday and the medal games are scheduled for Sunday.
The tournament is being played on two 2014 Olympic rinks.
Canada is in Group B with Slovakia, Germany, Switzerland and Sweden at the 7,000-seat Shayba Arena. The defending champion Americans and host Russia are in Group A with Latvia, Finland and the Czech Republic at the 12,000-seat Bolshoy Ice Dome.
Many top players are unavailable to participate at the tournament because they're still involved in playoffs with their junior clubs.
The United States is looking for a fifth straight gold medal at the event. Canada won gold in 2003 and 2008 but then was out of the medals until winning bronze last year.