The price may indeed be high....but some insurers make no profit at all (e.g. the co-op).
So the money isn't going in profits or to shareholders.
Its going in staff costs or payouts.
The only way to make it cheaper is to cut staff wages, or find a way to reduce the amount paid out.