Ah... I used to have an issue similar to yours, this is how I fixed it.
I avoid using the Camera.lookAt method because I think that's where the vertical twitching you described happens.
Anyway, my fix:
Create 2 variables for touch input:
private float touchX;
private float touchY;
In your touch listener:
touchX += some calculation for a dragging single finger;
touchY += some calculation for a dragging single finger;
In OnDraw:
camera.rotateX(touchY);
touchY = 0.0f;
camera.rotateY(touchX);
touchX = 0.0f;
camera.setPosition(someObjectYouWantToRotateAround.getTransformedCenter());
camera.moveCamera(Camera.MOVEOUT, someRadiusYouWantToRotateAroundTheObject);
Maybe not the neatest way but it worked for me