Yes, 'buck converter' is a better, but more complicated/expensive way of regulating power.
A downside of the Arduino Uno is that it's designed to 'keep it simple' for beginners, and that includes simplistic advice about how best to power it. Sensible and safe. Actually there are a number of possibilities.
It's a 5V board. You can power it with a USB cable from a computer or a wall-wart charger. (USB is 5V). Or feed it 5V from an external stabilised power supply through the Vin Pin. Or feed it 6 to 20Vdc rubbish through the power socket.
As John says the Uno's power socket input uses a linear regulator to burn off excess volts, which is very inefficient if the device is being powered by a battery. To avoid overheating and voltage drop-out problems Arduino recommend keeping the power socket input voltage between 7 and 12V well within the absolute range which is 6V to 20V.
However, whenever I battery power a Arduino I use a 6V accumulator like this example. Although below the 7V recommendation it works. I have to keep an eye on it though: one day I might plug in a Uno and find its regulator blips out on only 6V causing crashes etc.
The more advanced Arduino M0 uses a switch mode regulator that doesn't burn excess volts. It only requires 20mA while being 3 or 4 times faster than a Uno, with massively more memory and several other tasty features. Don't get too excited though, the price for the goodies is that it uses 3.3V logic and the input-output pins are comparatively under-powered and delicate. In other words it's much easier to blow up!
Something wrong if turning on a LED causes the current to rise to 160mA. I suspect a short-circuit. The maximum current provided by a single output pin is 40mA (20mA recommended) and a small LED might draw between 2 and 10mA. Are you switching the LED with a transistor? If so don't forget that, unlike a solenoid, the LED will need a dropper resistor to limit the current. (Try 330 – 1500 ohms)
Dave