6 PWM channels, input device and display

In addition to the pins mentioned, you might want to leave 0/1 unassigned as you can use it with Serial input to trace messages to USB (and receive inputs from the computer in debug mode). IIRC, pin 13 (which has the LED) can also be problematic in a few cases, since the LED has a resistor on it.

The simplest answer is get an Arduino Mega instead of an UNO.

However, using an i2c LCD (or i2c backpack) would reduce the number of pins to 2 for the LCD (A4 and A5). Wire - Arduino Reference

You can also put the push buttons on the i2c bus to reduce the number of pins (or use a resistor tree to combine the buttons into a single analogue input.

If you needed more PWM outputs, according to google, there are PWM extender chips (TLC5940), and the Arduino Cookbook (2nd edition) evidently has a chapter (7.14) on how to set it up. I couldn't read the chapter online.