Here’s what I would be thinking if I had to do something like that.
Have a group of curves, each coming out of nowhere and have particle systems for each path, when doing a set points operation have them travel along the curve path.
Also have a default centre point (if there is no other geometrical point exists in the center) and use that to change the properties of the particles as they get closer to the center (e.g. to make them seem like they appear out of thin air have them start out with an opacity of 0, and increase it as they get closer to the centre). Also you can add some deformers to the curves, or even animate them to rotate around the centre point to add some dynamic nature to it.
That’s the gist of how I’d do that. You could also probably make the particle spread flare out farther away from the point by using a combination of range turbulence, and checking how far the particles are from the center (and closing the range gap the closer they get to the centre in order to create a pinching effect).
and if i wanted them to swirl WHILE moving along the curves, i’d just create swirly-curves, have particles movee along those swirls, and then have those swirly curves move along the curves mentioned above.
Or you could use the math to make them swirl (standard rotate while particles move somewhat along a curve)