There, i made a rubik cube for a thread on cgtalk, so better share with the elysiun guys too!
Here is the solution I came with:
The idea is to rig each cube with a bone, letting the tip of the bone out for easy selection.
All you need to do is to select the row, rotate on the good axis, take a key each 45 degree, make sure one move don’t overlap the next move and that’s it. The selection is easy since all bones-tips get aligned in side-front-top view, a box selectiopn give you instant acces to a row.
To get a nice rotation, all the roots of bones are in the center:
Blend file (blender 2.40)