Firstly, there are policies in Central Administration to remove the ability to change the themes across the entire web application, which can be done by the following:
- Visit Central Administration > Application Management > Web Applications > Manage Web Applications.
- Select the Web Application that you want to restrict the themes on.
- Click on "Permission Policy Level" on the Ribbon.
- Name the policy, and find the permission "Apply Themes and Borders" and toggle the "Deny" check box.
- Click save.
- Click on "User Policy" on the Ribbon.
- Add the users and groups you want to restrict, and then apply the policy you just created.
Alternatively, if you want to manually remove the themes, you can update the theme entries, in a file called:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Template\Layouts\1033\SPTHEME.XML
There, you can remove all themes with the exception of default - the sections you would want to delete are the
If you can't do either of the above options, and utilizing a managed environment. You could take a third approach, which involves removing the available themes, resetting your themes to default, and disabling the 'Enhanced Theming' hidden feature. You can remove all the managed themes, via the following code in a site-scoped feature receiver, on feature activation.