Yes, it is very common. It's the "just need the appropriate delay" part that can become complicated as you try to handle acceleration, or smoothly chaining successive motions together.
If all the motors are in lock-step, you can shortcut the coordination by treating them as one and wiring them all together, or writing a full register (on an Uno, for example.) If the ratios of steps are different and you do the ratios with delays, you can run into issues with precision, rounding and scheduling the interlocking delays. At its root, moving steppers in fixed ratios is an integer problem, and it can be done quickly and precisely in integer math with the Bresenham algorithm. And it also helps separate the acceleration problem from the coordination problem.