McGregor was selected to the American League All-Star team in 1981. He won 20 games in 1980 and was solid in two postseasons with the Orioles in 1979 and 1983. McGregor sent the Orioles to the World Series by clinching the 1979 ALCS with a Game 4 shutout of the California Angels. He also pitched a complete game victory in Pittsburgh in Game 3 of the World Series. Despite taking the loss in Game 7, McGregor yielded only two runs in 8 innings to Willie Stargell and the eventual champion Pirates.
In the 1983 postseason, McGregor allowed only two runs in the openers of the ALCS and World Series, but lost both games by scores of 2-1 to the White Sox and Phillies, respectively. However, in Game 5, he shut out the Phillies in a complete game to end the series, four games to one.
After the 1983 World Series, he remained a starting pitcher on the Orioles for the next five seasons and made his final appearance on April 27, 1988.
McGregor was named interim Orioles bullpen coach in late 2013 replacing Bill Castro who was promoted to pitching coach, however he did not return in 2014.