There are a number of solutions, and your app may implement more than one to provide greatest convenience to your users.
Role Groups. If there are a relatively small number of common combinations of roles (as determined by user research), you can include canned “role groups”. Each role group represents one combination, such as “buyer” and “seller,” which together make an “exchanger” role group. The system lists role groups with individual roles, and the admin adds a role group to a user record just like a role, only doing so adds all the constituent roles to the user. You can expand on this by supplementing the "default" role groups with an ability for admins to create and edit their own role groups, borrowing UI designs for making email groups. This only works if there are certain groups that are repeatedly used across sessions. It doesn’t make much sense if the admins have to create yet-another-role-group each time they add some users.
Tag and Assign. This is good when the task is typically copying a one or a few roles to many users. The system allows the admin to “tag” or check off one or more users (e.g., with a Tag menu item or a checkbox), then a centralized “Assign Role” menu allows the admin to select roles to assign all tagged users. This can be done one role at a time through menu items, but you could also provide an ability to open a dialog box where the admin can select multiple roles (with checkboxes) to assign to all tagged users. This fits well if the system is going to have a tagging ability anyway for other commands (e.g., delete users, deactivate users).
Copy and Paste Users. This is good when the task is to copy many roles to a one or a few new users. The admin sets up one user with a certain set of roles, and maybe other attributes, then copies that user to make new identical users. This can be convenient because often there already is a user with the right combination of roles (a user who is retiring) that the new user (his/her replacement) should have. The system could allow the admin to paste an existing user to a “blank” user to create a new user with the same attributes. Assuming your admins are familiar with desktop conventions, copying and pasting is best be done with the standard Copy and Paste menu items in the Edit menu (along with Ctrl-C, Ctrl-V). You’ll need some way to select an entire user for copying (e.g., an object control). However, if this is a web app, you may not want to mess with the browsers Edit functionality for technical reasons, and thus need to create and display explicit buttons or menu items specifically for user-record-copy-and-pasting, perhaps using the same tagging feature as above to specify the user record to copy.
Tag and Duplicate. Sometimes you only need to copy a subset of roles from one exemplar user to multiple new users. With Tag and Duplicate, the admin tags the new users as described above, then scrolls to the exemplar user, puts the cursor in each role to duplicate and selects a Duplicate menu item or button. This adds the current role to all tagged users. The admin repeats this for every role to duplicate from either same exemplar user or another user. If you have a keyboard shortcut key for duplicating (like Ctrl-D), this can be relative easy even for several roles. It can be in addition to Tag and Assign, where its main advantage is the admins can be sure they’re getting all the right roles from the exemplar users to the new users. It can also be instead of the relatively space-intensive Tag and Assign feature: the admin sets up one user “manually” then tag and dupes to all remaining users. It is, however, a relatively unusual design, so it’s probably best if admins are well-train and/or experienced with it.
Copy and Paste Roles. The system represents the roles as selectable (and multi-selectable) objects which the admin can copy and paste to other users. The admin creates an exemplar user “manually,” if it doesn’t already exist, the selects or multi-selects (by Ctrl-click, shift-click, or dragging) the roles to copy. The admin the selects or multi-selects the new users and a single paste copies the role(s) to the new user(s). This provides the ultimate flexibility: one role to many user, many roles to one user, many roles to many users. To avoid a proliferation of controls, this ideally should again work with the standard Copy and Paste menu items and shortcuts. The system needs to make it clear what’s selected, then what gets copied is whatever is selected, whether it’s a whole user record (Copy and Paste Users), one or more roles (Copy and Paste Roles), or a block of text. However, this can be technically challenging to implement in a web app, and again, you may have no choice but make explicit dedicated controls.
Copy and Paste User and Copy and Paste Roles can be generalize to all pages/windows throughout the app to support general copying and pasting of multiple attributes and whole records/objects. IMO, every intensively-used database front end should have these features.