There is no best time to put a business up for sale. New buyers are entering the market at all times. The busiest time of the year for one buyer may be the slow time for another. Since no one can tell you how long it will take to sell your business, the best time to start is now. I plan to retire in 5 years.
Many sellers fail to plan ahead when selling their business.
It is better to have a buyer sooner than you would like than it is to have one later than you need. You can always negotiate an employment contract with the buyer and stay on after the sale if you desire to keep working. It may be easier to sell this way as it offers the buyer an extended training and transition period. Don't hesitate to put your business up for sale now even if you don't need to sell for 5 years. It is better to sell when you want to rather than when you need to.