All flights I see on kayak.com take me through Santiago, Chile or Buenos Aires, Argentina to get to El Calafate, Argentina. But they take more than a day. Is there a quicker way?
I tried a flight for next month on there, and the times range from 13h 40 to 46h 20(!) - quite a difference.
Once the page is loaded for your dates, on the left choose more filters, and then play with the stopover and leg times - reduce them and you'll start to see the shorter flights.
South American airlines often work on a hub-spoke model, like the US - so for example, many inter-city flights in Argentina go via Buenos Aires. Similar with Lima in Peru. And indeed, the 13h 40 flight flies to Lima, then Buenos Aires, then down to El Calafate.