I don't think putting both SIP and PV distortions is a good idea.
FITS WCS headers are supposed to be understandable by looking at the CTYPE# headers. If you want TAN + PV, you should use TPV; for TAN + SIP it should be TAN-SIP.
As for the idea of fitting for TPV instead of SIP -- that is certainly possible, but honestly not very high on my personal wish list. It's an open-source project, so if you're interested in trying to add that code, it would be welcome. The place to look is blind/tweak.c in the function do_sip_tweak(). Note how it builds a least-squares problem using the SIP polynomial terms. The major difference is that (as I understand it) the PV terms operate on intermediate WORLD coordinates (ie, RA,Dec space), while SIP operates on intermediate IMAGE coordinates.
I suspect it would be easier to write a stand-alone wcs-sip2pv converter, though.
By the way, TPV and SIP are both "registered conventions"; neither are part of the FITS "standard".
http://fits.gsfc.nasa.gov/registry/tpvwcs.htmlhttp://fits.gsfc.nasa.gov/registry/sip.html