The way I do it is look at the output that Brickficiency gives and see which parts are most rare (available from least stores), then remove parts and rerun until it finds matches. After that, you can run a separate Brickficiency on those rare parts or just find them manually if it's a low number of lots. Also if you aren't using Brickstore to manage your parts lists, you should, as it makes it much easier to check prices, edit parts, etc and import Brickstore files into Brickficiency.
Using the above method I was able to put together a GG for around $450, with the typical part swaps that others have been doing. Not quite as good as sin's $400 which is what I was aiming for, but how low you can get the price comes down to how much time you put in figuring out where to order what from and so for only spending a few hours I thought it wasn't too bad and was a fun experience overall.