I use photoshop:
1) Make a gradient on a new layer with all the colour steps you want.
2) Edit>transform>warp; change the warp from 'custom' to 'arch' and change the bend to around -70.
3) copy the layer into a new file
4) Image>Mode>Indexed Colour in the new file, reduce to however many colours you want to restrict to, change dithering options in this dialogue too.
5) Copy paste back into your art work, then hide the gradient layers.
6) Select the area you want it to cover with magic wand.
7) Create a mask on the new gradient layer (3rd button on the bottom of the layer window)
You're done! But if you unlink your mask (the chain icon) you can move your gradient around in the correct area for adjusting.