This was despite complaining of some "very, very iffy" pin positions at Leopard Creek.
Schwartzel carded a second consecutive 68 to finish alongside South African Open winner Morten Orum Madsen on eight under par, with Madsen's fellow Dane Soren Hansen and England's Ross Fisher a shot behind in second.
Despite not dropping a shot on Friday, Schwartzel was unhappy with several of the hole locations on the back nine, the former Masters champion having to play at a 90 degree angle away from the pin on the par-three 12th, where the severe slope helped Argentina's Emiliano Grillo win a BMW earlier in the day for a hole-in-one.
"There were a few pin positions that were very, very iffy, 13 and 14 in particular," Schwartzel said.
"They have gone too close to the limit. Maybe they put them out in the dark."
Madsen had held the overnight lead after an opening 65 and remained top of the leaderboard after England's Richard Finch suffered a nightmare finish to his second round.
Two-time European Tour winner Finch lost his card at the end of the 2013 season and failed to regain it at the qualifying school, but received an invite from the tournament sponsors to compete here.
The 36-year-old from Hull looked on course to make the most of it when he picked up six birdies in his first 15 holes to move into a three-shot lead on 10 under par.
However, Finch, who won the New Zealand Open and Irish Open in 2008, fluffed a chip on the par-three 16th, dropped another shot on the 17th and then dumped his approach to the 18th into the water guarding the green to card a double-bogey seven.
That meant he had to settle for a round of 70 and halfway total of six under par, two behind Madsen who had a rollercoaster round of his own in pursuit of back-to-back wins.
Madsen carded two double-bogeys, two bogeys, an eagle and five birdies in his 71 and said: "My driver was not in synch today, I had some bad shots right and left which cost me a few shots. I will work on it and am sure I will be better tomorrow.
"The birdies are there, I just need to weed out some of the mistakes like four-putting the 13th. I would have loved to have shot a lower score today but I am still in a great position to make a charge on the weekend."
In contrast, Fisher carded just one bogey in his 65, the former Ryder Cup player firing six birdies and an eagle to boost his chances of a first European Tour title since 2010.
Fisher failed to keep his card on the PGA Tour this season but has been in a rich vein of form since returning to Europe, recording five top-10 finishes, including losing out in a play-off for the Perth International last month.
"It was a testing day yesterday and I played well but just couldn't make a putt," Fisher said. "To be seven behind the leader was a little disappointing, so I knew I had to come out today and try and play as well as the previous day, if not better.
"Golf is a very fickle game. Some days you make putts, and some days you don't. You've just got to take the good with the bad."