Jason Calliste scored 16, Damyean Dotson had 15 and Joseph Young added 13 for the Ducks (21-8, 9-8 Pac-12), who have now won six straight games heading into Saturday's season finale at home against No. 3 Arizona.
Moser, who earned Pac-12 player of the week honors after averaging 16 points and 16 rebounds in wins against UCLA and USC last week, had his third straight double-double. The senior forward had 17 points and 15 rebounds in the second half alone, and scored eight in the final 8 minutes to help Oregon pull away after Arizona State got within four points, 58-54.
He finished 6 for 11 from the field and 9 for 11 from the free throw line.
In a game between two teams trying to enhance their postseason portfolio, Oregon wasted little time asserting itself.
The Ducks jumped out to a 15-0 lead in the first 6 minutes, getting seven points from Dotson during that stretch, including a pair of 3-pointers.
But Arizona State responded with a 16-2 run and pulled within a point on a 3-pointer by Marshall that made it 17-16.
The Ducks, who made just 1-of-9 shots during the Sun Devils' run, got hot in the final minutes of the half and took a 33-25 advantage into the break.
Oregon's lead reached double-digits again on a 3-pointer by Calliste to make it 42-31, and Johnathan Loyd followed with a floater from the lane to put the Ducks up by 13.
Carson kept Arizona State close. He scored 22 in the second half and made jumpers on back-to-back possessions to cut the Sun Devils' deficit to 53-48 with 11:49 left.
It was also his layup that made it a four-point game late, before Moser helped clinched the victory.
Senior center Waverly Austin had the best game of his two-year Oregon stint, setting career-highs with 10 rebounds and five blocks. He also had five points.