Here is the solution, use Delegated Administration
Go to Setup - Security Controls - Delegated Administration
Create New button and enter a name for delegated group.
You can leave option to Login Access disable for security concern.
From here, select user allowed to update quota in Delegated Administrators
Then enter Sales Rep role in to be managed in User Administration
Done - you can left Assignable Profiles and Custom Object Administration as they are not used for this scenario.
To note, enabling delegated administration will give user ability to:
- Creating and editing users and resetting passwords for users in specified roles and all subordinate roles, including setting quotas, creating default opportunity teams, and creating personal groups for those users. But, if you not add any Assignable Profiles, user cannot select any profile, and since profile is a mandatory field in user creation, user actually cannot create user, got it?
- Unlocking users
- Assigning users to specified profiles, this is again depend on Assignable Profiles given.
- Logging in as a user who has granted login access to their administrator, this is depend if Login Access enable for particular delegated group.
- Managing custom objects created by an administrator, depend on object given in Custom Object Administration.
For more information, read this doc.