Panorama Tools is very good, and universal in scope: any lens with any distortion on any system can be corrected.
DxO is very good with lenses it knows about, but useless out of the box for anything else. For instance, it will defish a Canon 15mm but not a Sigma 15mm. However, I've worked out a little hack for this that opens up DxO for use with any lens.
Please see here:
http://www.16-9.net/dxo.htmlIn the range of lenses covered, DxO has baseline fixes for all kinds of distortion: once you've transplanted the EXIF data from a lens in the DxO database with similar properties, the full range of correction tools are unlocked for fine tuning.