It's absolutely critical that you determine why you're losing customers.  Any number of factors made be the cause, from pricing to personality conflicts with staff.  I strongly suggest you phone each customer who has canceled service and - in a straightforward and unemotional way - ask for feedback.  State clearly that you understand that they have made their decision, and that your call is not designed to change their minds about moving on, but instead to get the information you need in order to continually improve your service.  Prepare several questions relating to the most important elements, such as whether your service was performed as promised, your workers arrived on time, customer satisfaction with the work itself, your pricing and personnel.  Ask each customer their reason for cancellation and, no matter what they say, do not argue. Remain  impartial and polite.  You may be surprised and find that these customers end up coming back to you if they feel that their grievances, if any, have been adequately addressed.  The bottom line is that you'll get the information you need to make decisions about any necessary modifications to your company's services.

As for tactics that help you keep customers coming back, I suggest you always have a contract in place with commercial clients.  And for residential customers, employ a regular feedback mechanism, such as a satisfaction survey card that your staff leaves behind after every cleaning.  Then customers can simply fill it out, mail it, and you'll have the information you need to keep providing them the kind of service they're looking for.