That front-end extension I mentioned above is perfect for my non-technical colleagues: Nothing but name, username, email fields, and a submit button.
As long as it's using CB API then it'd be acceptable. Anything else will not execute the appropriate triggers or provide the correct data resulting in desync of users. At any rate glad you were able to find a solution.