I've used dish washing soap, the hand washing kind not the kind for automatic dishwashers.
Edit: whatever you use, apply it using motions in a line from the center out or in, not using a circular "around the disc" motion. The reason for this is the error correction for CDs and DVDs can handle center-to-edge scratches much better that side-to-side scratches -- the damaged bits are spread over different tracks that way, instead of having multiple unreadable parts in the same track.