A few cents.
I am 30 years old and spent half my life in Johannesburg and half in Cape Town.
This is an amazing country - awesome climate, lots of space, great lifestyle, nice food and restaurants, sports and more. This is what people from Europe see when they come here for short visits.
The problem is that falling in love with South Africa is like falling in love with a model who is a crack addict. You fall in love with the outside appearance, but set yourself up for a lifetime of problems.
Don't kid yourself if you move to South Africa - crime is a big problem. It's such a big problem that lots of people deal with it by pretending it doesn't exist. Speak to any South African and you'll find that either they or someone close to them has been affected by serious crime. This is not a joke, and neither is living with burglar bars, smash proof windows, high walls, electric fences, gated communities and private security companies.
As a white person living in South Africa you will also have to deal with increasing marginalisation. If you're not an entrepreneur or educated to masters level, you're going to struggle to find a job. Many government schools provide inadequate education, which means you have to fork out serious money for private school education. There are also serious problems with public transport, as owning a reliable car is essential, and SA has some of the highest car prices in the world.
Generally it is the wealthy who benefit most from this country, and often this benefit both moderates and perpetuates the suffering of the country's inhabitants. Many black people work in jobs offering them between $200 and $500 per month, with little chance of advancement. Many also live in devastating poverty in urban townships, where life is often worth less than a cellphone.
If you're wealthy and commited to improving this country, it's probably a great thing to move here. But keep something in mind, there is a cost to moving here, and you'll spend your life trying to come to terms with a deeply dysfunctional country.