In Photoshop open a new file select your button size.
I personally prefer to use the pixel dimensions of :
120 wide
40 high
be sure to check the radio button marked Transparent if you haven't chosen your button color, if you have you can leave the circles unchecked and the fill will be the foreground color.
Select the color you want to use for your button either from the swatches or make your own. Select the edit > fill from the top menu, then select fill with foreground color.
Your button is now beginning to take form.
Go to the Select menu drop down to Modify slide out to Border
Select a border width of somewhere between 6 and 12 pixels click OK.
This will give you a nice beveled 3D border.
At this point you will want to save your "Selection" and name it "bevel" for use later on.
Choose Edit < Fill, mark the radio button marked white, click OK.
Now click on the channels tab on the layers pallet and turn on the eye ball next to bevel. This will mask the button with the exception of the bevel. Choose Filter > Blur > Gaussen Blur use around 3 pixels then deselect.
Now go to the Select menu and load the selection bevel.
Your button should now look like this.
Next use the Filter menu choose Render > Lighting Effects.
In Lighting Effects choose 2 o'clock Spotlight, Light Type Spotlight, Texture Channel bevel and check the box that says White is high.
For the up state Button grab the handle on the spot light and swing it to the 8 o'clock position, click OK.
You should now have a 3D Button that looks like this.