Yes, of course. And on the other hand, moving limit switches is very fast and simple on some machines.
And moving limits around is a VERY silly thing to do. Limit switches are a last chance safety system. Moving them around allows for the possibility of driving past one which is an open invitation for disaster as now there is no last line of defense between the moving bits and a very nasty hard stop.
Limit switches are there to protect an axis from being driven beyond its possible travel. Soft limits are there to provide an early warning system. If you have need to provide some safety around a given work envelope then you talking about a different subject entirely.
In complex robotic systems each axis has its limits of rotation (1), there are fixed physical limits and you don't screw with them. You most often also describe a safe position (2) by moving the robot to a position considered safe where other moving fixtures will not contact it. You also define a work envelope (3) by move the robot to various positions within its work cell that describe the limit of how far it should move whilst in operation.
1) is a physical limitation of each axis, the same as what a limit switch protects on a typical CNC machine. It has absolutely nothing to do with #2, or #3
2) is a simple 'move each axis to this position' type of thing.
3) is much more complex because it involves complex kinematics calculations to make sure no part of the robot protrudes from the work envelope. As Hood mentioned before, this work envelope stuff is something typically taken care of by the CNC programming software as it can take things like fixtures and other limitations in considerations where most CNC controllers do not have the capabilities to do so.