I've found plenty of documentation about assigning the global RTE profile (e.g. "Rich Text Default"), but no documentation on assigning specific RTE profiles to specific user roles. Ideally I'm looking for something accessible within the Desktop application, but I'll take any solution that involves changes to the Web.config file, or even programmatic changes if necessary.
I think what you may need to do is pick the most liberal profile that you need and set that as your global RTE profile. Then assign permissions to the individual aspects of that profile for specific user roles (e.g. deny read on certain buttons or groups of buttons). I haven't tried this myself but the granular nature of Sitecore permissions should allow you to achieve the desired result.