Set my own password when registering a multisite user or site

What’s worked for me in this situation is to use the Gravity Forms plugin with the User Registration Add on. This allows me to create a form for my users to sign up for a sub-site, and allows them to set their user name and password. The plugin also allows me to tie the signups into Mail Chimp, so i can add info automatically to my mail lists. It also ties perfectly into PayPal. The end result is a is a system where users can generate their own website on my network, subscribe to a mail list, and pay all in one take. One example of it in action is at: http://worshiptimes.org/launch-your-website/

The developer option for Gravity Forms is a bit expensive, but with features like this, it is really worth it.
Gravity Forms: http://www.gravityforms.com/
Gravity Forms User Reg Add on: http://www.gravityforms.com/add-ons/user-registration/

Hope this helps get you in the right direction.