Unfortunately it's a common problem, many cleaning companies put it into their contracts or service agreements. It can be worded like:-
The client agrees not to directly employ or offer work to the cleaner of the contractor, as this will be a direct breach of this agreement. If the client wish to employ a cleaner directly, the client must pay one thousand pounds fee to the contractor.
Good, hardworking, reliable and trustworthy staff are like gold, so hard to find and a real investment. It's fair to ask for a fee in exchange for a valuble member of staff.