The key for me is to start very early, like when I ferment the batch, start collecting and cleaning the bottles for that batch that won't be bottled for at least 9 months out.
I collect bottles continuously, and process them as soon as I get them. This avoids that last minute rush!
A local winery is happy to give away empties -- I got 5 cases (including 3 cases of blue bottles!) last month and my son got 4 cases a few days ago. These bottles are not ideal for me -- flat bottomed (I prefer a punt) and the labels can be a PITA to get off. However, the winery rinses the bottles as soon as they are emptied, so I don't have to deal with mold (although I check!).
Side note -- these bottles are straight sided (I HATE the ones that are wider at the top), and without the punt are a bit shorter, so they fit into every case I have. This is an advantage.
So I setup an assembly line -- half a scoop of Oxyclean in the sink with hot water, fill 8 bottles, and let them soak. 30 minutes later I peel off the outer layer and scrape what's left. Some peel cleanly, some do not. The ones that don't get sprayed with Goo Gone, and 30 minutes later I wipe them with a paper towel, then wash the outside with dish soap. Repeat until the water gets too cold.
Two years ago I purchased 10 cases of Bordeaux bottles as part of a group purchase at $11/case. I had ramped up wine production and knew I was not going to have enough bottles. Since then I'm ramped up the bottle search, and currently have plenty to bottle my remaining 2020 reds, and am in good position to bottle the 2021 wines next summer and fall.
My local price for bottles, including tax, is about $16/case. Using the money I'm not spending on bottles, I can buy more wine making materials!
All that said, I admit it IS nice to not have to mess with cleaning bottles ....