Nat i think it would be unwise to consider money to be the only reason why a client may attempt to take on a cleaner directly. What i have seen is that the clients would always prefer the same one person (or a pair at a push) do their work, so that they can get used to each other and build that rapport.
Although i have in the past lost staff to people who hired directly, i think this is more an issue for those who work for an agencey, esp. the self employed, where the customer also pays an hourly rate. When it is a cleaning service where all materials are provided and a set-price given for the work, it is harder for the customer to make a financial comparison between what they pay now and what they would pay the cleaner on their own. Added to which presumably a cleaning company would (should) have a list of work for all its staff, enough to keep them busy, so therefore giving the cleaners enough incentive to stay with the company, along with other benifits of being 'employed'.
But going back to the start, i dont think its all about costs as the clients always seem willing to pay for a good job. I know one lady who was taken on directly by a client because the client said she would rather pay the cleaner the money she was paying to the agency. The problem there was that the agency had provided her with a good, hard-working cleaner who never went sick, so therefore from the customer POV she couldnt see why she was paying the agency as she never had to trouble them with complaints or ask for a replacement cleaner.