I charge hourly and I wouldn't trade it for the world (unless I change the general concept on how I want to freelance).
When I freelance, I want freedom. For me that often means taking off the rest of the day spontaneously after lunch, or just ending the day early. When you are billing for a whole day/week that becomes much harder.
I also don't bill per-project, unless I have the ability to bring a trusted project manager onto the project as well, to provide me with some security against mismanagement, for the usual reasons like scope creep.
Charging hourly also makes it much easier to juggle multiple clients at the same time. For some reason, a meeting with all the stakeholders was set up on a day I am spending most of a day with another client? No problem, I just scoot right over, bill both client hourly accordingly, and nobody has any reason to complain.
As for clients being more prone to haggling over invoices with hourly rates, I haven't had that happen to me yet (~20 clients in 2,5 years). On the contrary, for project-based billing, there is usually a lot of time spent(/wasted) up front negotiating over pricing. I always send over a timesheet with my invoice, and if I had to guess I would guess that none of my clients ever checked that.
In the end, hourly billing gives me a much more relaxed life, a much more stable income stream, a much more stable growth in income, with far fewer headaches.