Triangled,
The slowness sucks and it frustrates the pants of me. It takes monumental amounts of effort to speed it up which could be used gainfully on things like marketing or doing nice creative engineering. My strategy has been to pick only a few bills which are super late, and then go nuclear with formally worded letters, joint checks, etc. I really have to create enough intensity on an individual that it dominates their attention and they get agitated enough to get over whatever the hangup is. Its better than a constant grind of whining, and usually on the next job they pay in 30 days. My mentality is that once I decide that a bill has to be paid, its black and white, and I don't let go until they give me a check. But that takes a lot of emotional energy!
My business strategy revolves around doing big firm work at big firm rates with small firm overhead. As such, my margins are quite good so the whole logic that many big firms struggle with about cash flow and financing is not super relevant. Part of the slowness of payment is that I don't have an accounting department to chase down payments. The main thing that bugs me about the slowness is just the longer its outstanding the higher the risk is that they won't pay at all.
I have considered hiring a bookkeeping service to keep on top of billing and collections on a more automated basis. Does anyone do this?