How to set set Screen type with python
bpy.context.screen is a shorthand, but read-only.

You can set a screen via the Window object, which actually holds the screen reference:

bpy.context.window.screen = bpy.data.screens['UV Editing']


http://www.blender.org/documentation/blender_python_api_2_70_release/bpy.types.Window.html#bpy.types.Window.screen

There's also an operator to change screen by a number, relative to the currently active screen:

bpy.ops.screen.screen_set(delta=1) # select screen after current from list


This is what CtrlLeft and CtrlRight trigger (with a delta of -1 or 1 respectively).