aunque lo mejor es que sea un sprite el botón.
es decir que la imagen tenga el boton sin y con el efecto y cuando se haga hover moverle la posicion
Código CSS:
Ver original.miboton{
width : 100px;
height : 20px;
background-image : url(boton.png);
background-position : top right ;
}
.miboton:hover {
background-position : top left;
}
tambien se puede mover en pixeles top, left, right y bottom