Debutant Dan Lawrence made 73, adding 173 with Root to help the tourists close on 320-4, a lead of 185.
Although rain allowed only 53 overs in the day - the start was delayed by 70 minutes and no play was possible after tea - Root and Lawrence batted England into a position of total dominance.
Root played beautifully for his 18th Test century, his first since November 2019.
He will resume on Saturday alongside Jos Buttler, who is unbeaten on seven, and will be aiming to declare and bat only once on a pitch that is already breaking up and offering increasing turn and bounce.
Play will start 15 minutes earlier at 04:15 GMT on Saturday.
England said they were "not concerned" after reports that two members of staff at their hotel tested positive for Covid-19.
Root said: "All of the lads feel very safe at the moment and hopefully that continues throughout the tour."
England's limited-overs tour of South Africa was abandoned in December after a number of positive tests.
[BBC]