Please note that the following is INCREDIBLY experimental, just discovered, and may break your game, asplode your computer, kick your cat, and throw you down the stairs. It is not for beginners - if you do not understand what I am talking about, do not try this. However it is also FRACKING SWEET as well.
1. Create a default replacement package using a GMDC from the facial default templates. If you've never done this before, you'll find them in Program Files\EA GAMES\The Sims 2\TSData\Res\Sims3D in CASFace.package - there are a lot of them, for each of the facial templates in game. I'm not quite sure which ones are which - I edited afarchelf, the female elf face. You should be able to find more info on this by looking up facial templates, or just by previewing each face and comparing them to what you see in Body Shop. Anyway. Make your default replacement package using the main GMDC. LOD15 version not needed unless you feel like running on low detail like some kind of animal.
2. Export the 3d model from the GMDC as an .obj, making sure you're set to XYZ.
3. Edit that 3d model in any editor that use the .obj format. I have not yet discovered the limits of editing but as you can see from my quick proof concept above (with modified nose, brow, cheek, top lip, and ears) you can do subtle or extreme, and it appears you can do quite a bit of editing without terrible results. Save your edited .obj
4. Use Meshtool to import your modified mesh into a new GMDC. Under the settings, make sure you uncheck UVs and Normals. This is important.
5. Replace the GMDC in your default replacement package with your new one that meshtool gives you.
6. Commit, save, and move that package to Downloads.
7. Now create your sim using that facial template.
That... is it. It's that easy. Animations are retained, my sim appears to have made it onto a lot with no ill effects (no flashing blue face in Pets for example), and it's totally groovy.
You are probably better off doing as much sculpting as possible in Body Shop, saving that sim, and then using their face as your .obj that you edit to import into Meshtool, combining your new edited .obj with the default replacement GMDC.
Please experiment, test, and report any issues that arise - I'm still playing with this, but I was so excited, and as this had been deemed Entirely Impossible by others and myself up until this point, I could not wait to share.
Tutorial and more info/reports on experimentation coming soon, after I calm down and quit hyperventilating at how awesome this is.