This match was very competitive, both teams put in a great effort. Now I think England fell far behind due to the poor performance of both the opening batsmen of England, the opening batsmen both performed badly due to which the next batsmen were under pressure. The performance of the middle order batsmen was not bad, they performed quite well. Now the target of 331 runs was quite big, so it can be said that England's bowling line was not good enough. However I would appreciate the South African players, as they won series against strong teams like Australia and England. As South Africa won the series by winning the 1st two matches. I see England more likely to be whitewashed.
Exactly England openers Jamie Smith and Ben Duckett performed poorly which put team under pressure from start. And their middle order including Joe Root and Jacob Bethell and Jos Buttler fought well to get them close to huge target of 331 it was clear that England bowlers had tough day. Your praise for South Africa is well deserved. Winning series against both Australia and England is major achievement and since they have already won series 2-0 your prediction of possible 3-0 whitewash is very plausible and they have ability to do this.
England's batting performance was poor but they lost the match by just 5 runs. If some of the top order batsmen had played a little longer innings, they could have won this match. A 5-run margin is not a big but they batted under pressure and lost wickets quickly. If England's openers had done well, they could have won the match. Nandre Burger took 3 wickets with his medium pace bowling and Keshav Maharaj took two important wickets.
When they failed to win even in a winnable match, there is a big chance that England will lose in the last match. If South Africa can show their performance normally, they will win the last match as well.