Below sample code helps to avoid double clicking of apex:commandButton.
Sample Code:
<apex:pageBlockButtons location=”bottom”>
<apex:actionStatus id=”saveStatus”>
<apex:facet name=”stop”>
<apex:commandButton value=”Next Step” action=”{!newCase}” status=”saveStatus” reRender=”thefrm”/>
</apex:facet>
<apex:facet name=”start”>
<apex:commandButton value=”Saving” disabled=”true”/>
</apex:facet>
</apex:actionStatus>
</apex:pageBlockButtons>
Cheers!!!