In Publishing sites, there will be a layouts or application page through which we can set a custom or another master page as a default master page. Unfortunately, this is missing in Team Sites. This is what this solution is all about. It is targeted mainly for Team sites, since publishing sites already have a provision. It adds a custom ribbon button in the Share and Track group of the Documents group of Master Page Gallery. It is a Sandbox solution and it is implemented to set the master of only the root site of a site collection, though it can be customized / extended for sub sites. It requires a user to be at least a Site owner to avoid unnecessary manipulation of master page by contributors or other users. Refer the documentation for the technical details. The following screen shots depict the functionality.
Note: I have moved this from my actual CodePlex project which has now been archived at: