Regardless of how long it takes the travel agent to get the money from the airlines, surely they should look after their customer first. I`ve had to change holidays in the past in the UK via a tour operator. You get your money back within a few days, usually at some penalty but you dont have to wait upto 3 months for it which is crazy.
Maybe with huge guys like Despegar or Orbitz yeah, but unfortunately small folks often aren't in a position to give the money back before they themselves have it. That's why 90 days is standard in the industry. The problem is that most airline passengers don't need to refund every day, aren't familiar with the business's (admittedly byzantine) norms, and feel they're getting ripped off. They're not - it's just how this works.
(BTW and to be clear - the 90 days is
just to get the refund approved by the airline; the money follows shortly thereafter. So your propostition is not merely that the agent lay out the money 3 months in advance, but that he do this risking his own money. Again, a small agency just isn't a position to process a refund if the airline denies it (or might deny it). They can fight with the airline, make the case as best as possible, and the whole advantage of a small guy is that they care for the client. But return the money before at least getting a 'yes' from the airline? Very risky, simply unaffordable in fact).
Holidays are different, most of the money isn't being held hostage by the airlines. A travel agent or tour operator is just as anxious to get you your money back and get it over with as you are to get it back - if and as soon as they can get you the money, they will.
And again, this is mostly moot - for the most part, cheap tickets like those you buy online are normally completely nonrefundable these days.