In California for example, PG&E has an incentive to propose the most costly projects, make the worst deals with the union, etc. Of course the union is also very happy with this and will provide political cover for PG&E. Every extra dollar they spend on capital is an extra 10 cents every year they can charge the ratepayers and then pass on to shareholders.
You obviously see the result here where it's not just the profit margin of the private utilities that's causing the higher cost. Even if you zeroed out their profits and reduced rates accordingly, you'd still be paying more, because the private utilities spend more. So much for privatization saving money.
The fact that co-ops are even cheaper than private utilities is doubly crazy since most co-ops are rural, and the amount of wire to serve each customer is way higher than private utilities which tend to serve cities more where it's cheaper to provide service.
IMO the solution would be to make profits based on some sort of quality/cost of service benchmark rather than just expenditures. The problem of course is that it's hard to make fair metrics that aren't gameable.