At the time of creating the custom role we can assign the custom role to the custom dashboard we have created. In some case the client requirement may like this.
Step 1: Create a custom role. Setup -> User Roles -> Manager Roles -> New
Step 2: In the Home Dashboard at Settings portlet, we can see publish dashboard.
Step 3: Create/Edit the custom dashboard

Under the Apply to Roles subtab we can give the roles to publish this dashboard.