custents does have remote cameras.
Search for func_remote_cam()
Basicaly, you just need to remember player's coordinates and angles, teleport him on camera's location (hide gun etc...) and then load remembered values after another impulse is raised...
The remote cam from custents (actually from x-men TC...) can do much more cool stuff though. Like chaining multiple cameras, moving/tracking cameras and such.