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?