I agree that the way I work is definitely not for everyone, and I only accept projects where I am confident that the client sees eye to eye with me. It wouldn't work if I was the only developer working on the project. There are several other, more junior developers on the team who work more hours than I do.
The client is very happy with the arrangement because it ends up costing much less than if I was on the team full-time and he is sure that every day I work is a day where things actually move forward significantly. He rather gets frustrated when freelancers charge several days of work and little progress seems to occur. There is at least a perception of lesser waste of time/money when work is concentrated over a small period of time, and I would argue that there is less actual waste.