Joe Cowley kicked in three penalty goals and three converts for the Americans, who earned their first victory at the tournament since 2010.
Tim Maupin scored two tries and Daniel Barrett added another for the U.S., which never looked back after trailing Canada 3-0 early in the game.
Conor Trainor had Canada's lone try, while Guiseppe Du Toit had a convert and a penalty goal.
Earlier Tuesday, Argentina shut out Uruguay 34-0 at the four-team competition, which runs through Saturday and is a developmental event for the Americas.
Canada overhauled its lineup after a 17-10 win against Uruguay on Friday, with only forwards Hank McQueen and Adam Kleeberger and backs Jack Fitzpatrick, Mike Scholz, Trainor and Duncan Maguire remaining from the starting 15.
Canada and the U.S. entered the game fielding domestic sides with their professionals remaining with their overseas clubs.
Du Toit put Canada on the board first against the U.S. with a penalty goal, but Maupin answered with a try and Cowley's convert gave the Americans a 7-3 lead.
Two penalty goals by Cowley sent the U.S. to halftime with a 13-3 lead.
The lead only got bigger when Du Toit missed a penalty kick in the 55th minute, and the U.S. marched back for a 23-3 lead.
A try and convert from Trainor and Du Toit cut into the lead, but Maupin's second try put the game away.
Canada finishes the tournament against Argentina on Saturday.