It took me 2 years to get 'almost' all of my customers to post a cheque if not in. It was a headache and cash flow was tight sometimes. But i persevered and only collected if i had a direct debit i needed to pay.
In this time i have stopped doing a couple of customers and have been dumped by others when they received a letter giving 7 days to pay or i'm going legal with it. At their expense.
I have had 1 dumped customer come back 10 months later cos she asked nicely and my feelings when i dumped her were now in the past. She was also 1 of 5 houses in a row of 8 i clean, so it made business sense to take her back after she'd been sin-binned. She also made me laugh.

I still have a handful that hold out for a while, but on the whole i now get paid by cheque before the next clean.
I don't leave a stamp or envelope, just a slip saying windows cleaned, please post £, to me.

About 6 months ago i added 'please pay within 7 days', to the slip and i have noticed that the majority now pay by then.
It has taken me 3 years (since i went wfp) to get the payments pretty much sorted. It has been hard and stressful, i have offended a few along the way with regard to paying me, but it is worth not collecting in my opinion.
The positive for doing this was that i work in the countryside and i reduced my fuel costs by around £50 a month.
Oh and also that feeling of contentment when i get home, take the shoes off and have the 1st cup of tea since i left for work that morning.

It is a good move getting customers to post payment. I found new customers took to it straight away, the others who were used to me coming back to collect were a much harder nut to crack.
Stressful, but worth it in the end.