The camera class has several methods to control its use. You've discovered some of them already with setZoomFactor. To move the camera directly you can use this:
setCenter(float pCenterX, float pCenterY)
Where X and Y are the scene coordinates. If what you're asking is how to move the camera gracefully, rather than simply plopping it in the new location, there are a few ways to accomplish it. One is to use SmoothCamera instead of ZoomCamera. SmoothCamera extends ZoomCamera and comes with a few additional features. When you set the position of the smoothcamera it will "move" to that location, instead of jumping to it. You can also do things like setMaxVelocity() and such to control the speed.
Another option to give you some additional control is to create a sprite (it can be invisible if you like) and set the camera to chase the sprite. Then you can do fun things with the camera by manipulating the sprite using EntityModifiers (e.g., pathEntityModifier to move the camera around, arcmodifier to make it take a curved route there, etc.). I like this approach because you can make the sprite a cross-hair and let it be visible for debugging purposes; turn it off for production, so you know exactly where the camera is looking.
By the way, if you use the smoothcamera, there may be times when you still want it to jump to a location, rather than get there gracefully. For that purpose there's a setCenterDirect() method.
Hope this helps.