You can remove the last viewpoint and call resetViewpoints() after the next one is added. The following alternates between two viewpoints, vp1 and vp2:
	Code:
	display = vizconnect.getDisplay()
def viewTask():
	
	while True:
		vp1.add(display)
		vizconnect.resetViewpoints()
		yield viztask.waitKeyDown(' ')
		vp1.remove(display)
		vp2.add(display)
		vizconnect.resetViewpoints()
		yield viztask.waitKeyDown(' ')
		vp2.remove(display)
	
viztask.schedule( viewTask() )
 Does this help?