Meguiars PlastX will do the trick. Tho opinions vary, I've had good luck with it. It's not a quick job. It will take you about 30 minutes of polishing and waxing to get them clear, depending on how bad they are. I do the 99 ML lights every time I wax, which is about every 2 months. Apply wax after using PlastX and you'll have a longer lasting result.
Agreed. I use Meguiars Plast-X and it works wonderfully.
If you have the time and resources, get yourself a Cordless Drill and use a
Buffing Wheel, preferably Mushroom Shape and Put on the Plast-X and
Buff out the contaminants on the surface of the Lens.
Do this 3-5 times, as the Plast-X will be quickly consumed.
After the buffing, my Plastic Cover lens is smooth.
I also use the Meguiars Plast-X on my Sunglasses, the Plastic Shield covering the Gauges, the Plastic Trim around the Windows.
Of course It's the Standard for Polishing Motorcycle Windshields.