All those scenarios are indeed possible, we are using them all in my environment.
1). quite possibly the easiest to set up, you just need to capture your image as a .wim then set up a task sequence to blow it back down. Our most basic one looks like this:
Restart in PE
Partition Disk
Apply Operating System (this is where you specify the image you have already captures, also can use an unattend.xml created with the AIK)
Auto Apply Drivers
Apply Windows Settings (user name, org name, product key, licensing mode, local admin password, time zone)
Apply Network Settings (Joins a domain with a specific user account)
Setup windows and ConfigMgr (installs SCCM client)
2. yes, this is also pretty easy to set up once you figure out USMT and hardlinking. You'll want to do some drive free space checks before running it though. Again, a basic task sequence looks like this:
Capture Windows Settings (Migrate computer name? user and org name? timezone?)
Set local state location (OSDStateStorePath, ours is %_SMSTSUserStatePath%)
Set hard-link scan paramaters (/ue:%computername%\* /hardlink /nocompress)
Set hard-link load paramaters (/hardlink /nocompress)
captuer user files and settings (need a USMT package, can customize .xml files used)
Next step is pretty much toss in your task sequence from 1). above to do the OS install, then afterwards
Restore User Files and Settings
3). can be set up with the State Migration Point role pretty easily, you just have to have 2 task sequences, a capture task sequence to run against computer A that saves the state to the State Migration Point, then a restore task sequence that you run on Computer B to restore the state. MAKE SURE YOU SET UP THE COMPUTER ASSOCIATION BETWEEN COMPUTER A AND B
BEFORE YOU RUN THE CAPTURE!
If you want to PXE boot you need WDS installed. If you want some kick ass task sequence options I would install the MDT. USMT is required but doesn't have to be fiddled with, you just need a package in SCCM that contains all the USMT files.