It's actually not that hard if you know what you're doing. But it can be tedious if you have a bunch of unlabeled seq\vh\vb files sitting around. You'd have to figure out which vh file goes to which vb file and which seq file uses said combination. If you get it wrong, you'd have a psf with very messed up instruments (or just slightly wrong). What would be difficult would be working with non generic files that require their own drivers, and sometimes even the generic files require their original driver.
I would link you to a post somewhere here from a long time ago that detailed steps for making your own psf's with the generic seq\vh\vb format if you wanted to try that own your own(and mix up some soundbanks for some amusing result), but I can't seem to find it at the moment. I'll update this post (or make a new post if I can't) when I do find it.
EDIT: I think this tutorial by snakemeat was the one I used a long time ago when making my first psf rip, but I'm not too sure: