Been in the insurance industry for over 20 years. This is the first time I've ever heard of an insurer insisting on an expert valuation being done and that at the insured's cost. (Not talking now about at claims stage where they might what to check if under insurance should apply and then the insurer pays for this service anyway).
The onus to ensure that you are insured correctly/adequately is on you and you alone. A number of the insurers have tools on their website that u can use to assist you in choosing an accurate insured value for your building (check for example Absa & Santam's websites). I use the Santam one periodically to double check my home's replacement cost and adjust my insured amount accordingly.
I alone choose the insured value of my building (unless a bond is involved where they can be prescriptive) If I:
a) Choose to only partially insure and thus self insure for the balance or,
b) If I can only afford the premium on X amount of cover and knowingly under insure,
There is nothing they can do about it. An insurer cannot "force" you to insure for a certain value. They can only advise of the implications of possible under insurance.
The above approach however has serious financial risk and is most definitely not recommended for most people. Like other posters indicated, consult with and work through a reputable broker.
I have never personally had a valuation done on my house that I had to pay for out of pocket on the insistence of an insurer. When I moved my bond, the new bond holder did send out a professional to do a valuation, but that has nothing to do with my insurer.