Nobody's claiming that it's more efficient. Insurance carries overhead.
However, your alternative options are missing a far more common situation: Unexpectedly requiring extensive services that cost more than one can pay off "on time".
I've worked in the medical industry. It's hard for an outsider to understand just how expensive modern health care is. The days of a lone doctor with his trusty medical bag are long gone, replaced by million-dollar machines and wholly-disposable sterile tools. Of course, we can't forget the army of nurses, assistants, and aides all helping the doctors, and those doctors all have malpractice insurance to cover the inevitable lawsuits. Every patient visit costs the hospital hundreds of dollars, even if they're in perfect health. If the doctors actually have to do anything, the costs climb into the thousands. For a complicated case, a cost in the millions is not unheard of.
I'm not talking about fraud, or unnecessary tests. This is just the cost of doing business.
For a middle-class American, keeping a few hundred dollars around for emergencies isn't unreasonable. A few thousand dollars in a safety fund is acceptable for many who've had decent fortune, but is it reasonable to demand that people pay off a million-dollar medical bill "on time"? Is it reasonable to demand that the medical staff work for free to make sure they're not putting someone in debt?
Very few people will ever have a million-dollar disease, and most will never come out ahead by buying insurance. That's not the point, though. For a small portion of our society, insurance is the only reason they aren't in (deeper) debt. It's a small and manageable expense spread out over time, but ensuring that a larger amount of money is available from the start of coverage, to pay for those rare-but-devastating disastrous cases. Having insurance means that expenses are more predictable, at the cost of the overhead. For most Americans, that's a trivial opportunity cost in the long run.