The naive way of just changing the whole vector of particles should work for a few hundred thousands I’d say.
With a few tricks you could also delete/remove and only update a few particles on GPU memory directly… I don’t have time right now, but I can make an example some time.