Multiple PWM channels

Just wondering if the Arduino Mega (or another suitable Arduino) would be capable of outputting 8 independent PWM signals? They are to be independent as the frequency of each channel could potentially be different. Would the software allow each channel to work simultaneously? If not, are there alternative solutions I could look at?
Thanks in advance!

No. The Mega processor doesn't have 8 independent PWM hardware timers. You didn't mention the frequency. If it's quite low, you could use bit banging to control essentially any number of PWM outputs.

Also, what software are you using, or planning to use?

The frequency could be 500Hz, 1KHz or 2Khz. It would need to be switchable between these three frequencies. The duty cycle also needs to go from 0-100% Was planning on using Arduino IDE to achieve it if its relatively straight forward?

What resolution?

Ideally I would like to control the current in 10mA steps using potentiometer to control the PWM.

You can do that. It doesn't tell me the resolution, though. I would need to know the range as well as the step size. Also it sounds like you are planning some external hardware interface, yet haven't given any details. What current? How is the Arduino PWM voltage applied to the load? Does the load translate voltage to current, or are you planning to build some kind of voltage to current translation circuit? If so, is the design complete, or are you asking how to do that as well as how to program it?