В идеале лучше использовать JS.
CSS-анимации могут глючить (особенно в IE), но в принципе для элементов интерфейса вполне можно использовать, только проверьте, что в нужных браузерах работает как надо.
SMIL-анимация не поддерживается IE и не будет, ее сейчас вообще нет смысла использовать. От Microsoft кстати есть неплохое
руководство про SVG-анимацию.