If I'm right you can lower the amount of nodes by combining some stuff.
I've also put the shader at the top of the chain which lowers the computer load on my limited MacBook Pro.
Joining the modified comp.
Beside Azy's methods, I'm not a mesh pro so I may be very wrong but if the mesh has no sub-meshes or child objects it should be doable but somehow is tougher.
You could use Karl Henkel's custom Parabox nodes (check the Node Gallery) and use Get Mesh Values to isolate the points /vertices you'd want and somehow cut the vertices lists and recreate new objects to apply your rotations to.
However if it's really about a Rubik Cube, you could easily create one using the Arrange 3D Objects in Grid and apply transformations to the child cube copies