Hi Mikeng,
Electronic Signatures are not Digital Signatures. The latter is required for legally certifiable document signing. That's because with e-sig you can't prove the document didn't change after it was signed. With digi-sig you can.
If you're using signature more as a form of confirmation and communication (and not for a legally sensitive processes), e-sig is sufficient and much easier to set up.
Your variation of e-sig - to use AD or UserProfileService - is a common one. We have customers who use our e-sig template and configure it that way. That saves you the trouble of the PIN, but you still need some kind of user confirmation action to add the wet signature, so a PIN is useful there. Or, you could have them type in their name exactly as they see it and click a button. Then the section would change to be read-only so they couldn't modify further.
Correct, username() is not what you want. UserProfileService is good. AD is also good. You don't check username/pwd against AD. If they are logged in, you can just get the AD credentials. Our AD Web Service provides that info, but so does UserProfileService - see Clayton Cobb's nice howto on that.
We do have the ability to have people validate by retyping their username and password - that requires a full trust form, and we typically use it for laptops and kiosk applications.
Hope this was a wee bit helpful...
Good luck!