LM2937 Replacement/Upgrade Thermal issues
Odds are you won't find more "high efficiency" part. Why? Because it doesn't matter what regulator your using, the job of a regulator is to regulate the voltage by wasting the energy as heat.

The package is the limiting factor, switching to a different part yields the same thermal to ambient thermal junction. If you check different regulators in the same package you will find that the thermal junction numbers are very close to the same, because the surface area to air is the same and the pins are the same, so the ability for heat to leave the part will be the same.

These are your options:

Increase the thermal junction to ambient by attaching a heatsink. You'd be surprised at how increasing the surface area could bring down the heat. Even a small piece of metal about 2-4/10ths of an inch square could bring the temperature range down tens of degrees. 

Find the same thing in a bigger package, a bigger package will most always have more surface area, larger pins and both of these increase the thermal junctions and the ability of the part to shed heat. 

Crazy ideas: Derate the LDO with a current sharing transistor (which I have not tried myself, or run the analisys, but its just an idea. You could also potentially put a resistor in series with the LM2937 upstream from it to help dissipate heat. I've tried this once but I don't think it worked well for my application.

Move to a DC to DC converter, which is efficient. The problem is you probably don't want to change your PCB and don't have room for external components.

If you've painted yourself into a corner a heatsink its the best way to go, speaking from experience.