Bernardo Silva struck first in the 14th minute to open the scoring before Gabriel Jesus capitalised on a defensive error just before the half-hour mark.
In the second half, City controlled the game and Ilkay Gundogan added to the score with a direct free-kick in the 59th minute as they finished with 78 percent of possession and 22 shots including eight on target.
Swindon’s Harry McKirdy scored a consolation goal but City added a fourth through Cole Palmer in the final 10 minutes.
There was doubt the tie would go ahead as City currently have 21 members of their “first-team bubble” isolating after testing positive for Covid-19, including manager Pep Guardiola and seven players.
However despite the absences, City named a strong starting XI as stand-in manager Rodolfo Borrell made just four changes from the club’s victory over Arsenal at the weekend.
In the first real chance of the game, Joao Cancelo played in Silva but the City forward fired over the bar.
City, after dominating the majority of the possession, took the lead in the 14th minute. Teenager Palmer played the ball into the box and Silva timed his run perfectly to tap in from close range.
The visitors did not have to wait too long to double their lead, with Jesus firing past Lewis Ward just before the half-hour mark. Swindon were caught unsuccessfully trying to play the ball out from the back, with City winning the ball back before Kevin De Bruyne played in the City number nine to finish.
The home side looked to get forward at every opportunity to try and keep their FA Cup hopes alive, but City showed their superiority and class and were able to prevent any chances being created.
Gundogan, who was given the captain’s armband for the match, added City’s third in the 58th minute.
The visitors had been awarded a free-kick from outside the box which Gundogan curled around the wall and into the bottom corner to all but secure his side’s place in the fourth round.
Jesus missed a penalty shortly afterwards, a stuttering run-up and weak shot allowing Ward to save.
In the 78th minute, Swindon pulled a goal back, catching the Premier League champions on the break as McKirdy tucked away his fifth in two matches.
However, City restored their three-goal advantage almost immediately when Palmer picked up the rebound from Silva’s strike and fired one into the far left corner.