Tengo entendido que los
keyframes son todavía menos compatibles que
transition; para un caso práctico serían una opción. Aunque no mejor que javascript, que sí sería compatible.
Pero en todo caso, con CSS hay que poner los valores a mano. La idea de la transición es que el cálculo lo haga el navegador. Los desarrolladores se pasaron de pícaros; la quisieron hacer fácil y así no funciona. Los valores van de 0 a 359, y tiene que pasar por todos.
Bueno,
ya van a inventar el hslQuery para corregirlo.