Personally, I do them in photoshop, but I don't start with a 88x31 pixel canvas, I go with something bigger (but with a 88x31 aspect ratio), and then when I'm done I resize it down to 88x31 pixels.
For example, here's the initial HD version of my button:
Which I then resize to that:
This gives me more space to do things like gradients and see what I'm doing better.
Also most buttons have some kind of border like I did above, right and bottom are darker colors, and top and left are lighter colors, there is an option on photoshop which is called outline in english (or border) I think, which does it automatically for you, you can even add a gradient to it.
As for doing animated buttons, I never attempted to make one.