I have tried all three, read all the HN favourites on why value pricing is the way; tried charging for roadmapping; and yet I come back to the most stressful of day-rate (hourly by any other name), unable to break this in 15 years of technical consulting.
Why? Because with per project billing I was losing 30-50% as client expectations were different to mine. When I added 30-50% to the prices, I didn't win the jobs. I could write a spec 80 pages long (which no client would pay for) and still there were variances which cost me.
On my current $50k+ project I've got the client to bear the risk because he's the worst client for cost overruns I've had, and it's on a time and materials system. However because he has no more money than the top range of estimates, and because he wants everything and more, I feel trapped and as stressed as if it was fixed price (which it's turning out to be).
It feels like I am missing something obvious that other developers/consultants have got. I want to price on value so I'm not stressed about every minute's productivity. My clients want fixed price so the risk is stacked on me; they won't/can't do sprints (often because their board of directors won't approve it, even if they say they see the benefits); and the projects are unique systems each time, so the estimation is not accurate.
I freelance/consult because it pays well, but this way of working sucks.