Hi Joshua,
I was in a similar situation recenlty when rolling out Self-Service Portal (SSP) with custom role. Besides API, another option is 'Batch Import' under ACCOUNTS > List Views > ADD > Batch Import.
For this to work, I would first export the list of users as is. Then, fill out only the 'Username' and 'User Role' columns and import the list back should then update the user role to your custom role. Try it with a small number of users first or better yet in your TEST/UAT environment before making this change in PRODUCTION.
Hope this helps.
Best,
Tom
