this is a difficult lesson to learn, i do have some advise that may be appreciated or not.
1. firstly take aperformance bond from your cleaning staff whether they are self employed or employed.
2. the more effective way to manage this, is to put a clause in both the client and employee (or self employted contract) restricting trade.
therefore in the client agreement, you would insert a term specifying that should and when the client terminates the contract, they arenot allowed to employ either directly or indirectly staff connected with your company.
and in your staff agreements, stipulate that should they leave your employ, then they are not allowed to approach or try to procure the business of your clients.
now if this went to court, it may be tested, however the clauses are there to act as a deterrent, and i have been involved in commercial cleaning for over 7 years and it has worked fine in all of that time.
regards
martin