effectivement, jQuery permet de faire cela très bien. Il suffit d'utiliser des arrières-plans contenant par exemple en haut le fond gris et dessous l'image désirée. Ensuite, on peut utiliser la méthode animate de jQuery avec comme attribut : backgroundPosition, et une temporisation.
J'ai utilisé cela pour les menus d'un de mes sites :
Les effets de slide et d'opacité sont facilement faisable avec des librairies comme mootools ou jQuery. Par contre tu ne pourras pas faire exactement la même chose. ici il y a aussi un effet flouté que tu ne pourras reproduire à moins de t'amuser avec des gif animés mais ça risque de pas être aussi fluide. Tu seras donc forcément limité par quelque chose. Après c'est pas cette effet de flou qui rend la chose intéressante.