Use simulation duplicates

Is there a way to make a simulation, of lets say a fireball which falls down, and use that same simulation multiple times in your scene (at different times)?!
I want to be able to duplicate a simulation, adjust its position and ‘move the keyframes’ to a later portion of the scene.
But how?

If the simulation is smoke, import its cache files as a volume object. You can import a .vdb sequence and there should be an option to offset the animation.

If the simulation is geometry, you could export it as an alembic file and then re-import it. Alembic is a file format that flattens an animation into a pure mesh sequence, removing any rigging or modifiers. It can be used to reuse an animation or even transfer it between 3D software.