I found a great free module at dnnVillage that uses an xml file to import /delete users in DotNetNuke en masse.
To copy users between a site I ran a “SELECT * FROM Users” on my original site and copied the output into a csv. Then I opened it in Access 2007 and selected the columns I wanted before clicking “External Data” in the ribbon then “More” then “XML File” in the “Export” section.
There was a bit of formatting text replacement I needed to do after the xml was generated but this was easy following the examples in the module. I then added the module to a page on my new DotNetNuke site and imported the users using the interface and my new xml file.
Unfortunately I still had to go through and edit everyone’s profile information (we are using custom profile fields) but I bet you could use the module to fill these in if you wanted. Regarding passwords, I set a default one for everyone and then emailed them to tell them to change their password at next login. We then set an option in everyone’s profile to force them to change their password at login and let the users choose a new password.