All movable objects must have a scene node. Moving the scene node of a camera create a very nasty flickering. Moving the camera is working well.
I create a camera and attach it to a special SceneNode (m_pEgoSceneNode).
I use this method to setup multiple cameras with different views for multiple monitor outputs. The main idea was to move and rotate only the main SceneNode instead of each camera.
To update the node in frameStarted I calculate a Ogre::Vector3 pos and a Ogre::Quaternion qrot.