For many years I've used a product called "Adhesive Release" to clean pictures. It won't harm genuine photographs or most prints, but will *ruin* inkjet prints, so you have to be careful. Great to have around anyway for removing tape residue or other sticky stuff.
Another product I like is called K2R, which can remove things like greasy thumbprints from porous papers and matting. Since it's a spray, you have to cut a stencil so it doesn't go beyond the mark you're trying to remove. When it dries it becomes a powder which you brush away, hopefully taking the offending mark with it.
Krud-Kutter is really great for cleaning old glass, in case you need to re-assemble a picture frame after scanning a photo (or replacing one with a restored version). It will leave some residue but cleaning again with glass cleaner will remove it.