A very interesting and wide ranging question!
I've looked at a fair number of boost/overdrive/distortion/fuzz circuits trying to gain an understanding of how they work and to see why certain features were used (like the presence or absence of buffers). I still consider myself still somewhat of a noob and continue to learn, but I have developed some tools (like my JFET spreadsheet) to assist with my learning. The main thing I have learned is that there really aren't any rules outside of basic techniques for robust circuit design (e.g. power conditioning and filtering). If it sounds good - hey, it is good!
As far as gain stages are concerned, you have your choice of:
(1) BJT (both NPN and PNP)
(2) JFET
(3) MOSFET
(4) OP AMPs (which are actually a combination of all of the above in small package)
(5) Tubes
Each has their advantages and disadvantages, and there are many configurations possible even for one device. For example, with JFETs you have the common source gain stage, the mu amp stage, and several other less used configurations. And for those, you have different biasing techniques and filtering. At the end of the day, you want your gain stage to amplify your signal with low noise and pleasing overdrive characteristics. Based on your tastes you may use one, two, three or more stages with all sorts of filtering in-between.
As for buffers, you can also use BJTs, JFETs, MOSFETs, and OP AMPs. Do you need buffers in your circuit? I think it depends on your design. Do you need high impedance at your input or low impedance at your output? Maybe you need a buffer before your tone stack. With an op amp overdrive like the tube screamer, you don't need a buffer at the input, but it does isolate the gain stage and may provide some pleasing aspect to the tone that is lost without one. In the case of the Liquid Sunshine, a buffer is needed because of the non-standard way the first gain stage is designed.
Anyhow, there's a wealth of information out on the web. I would seek out that info, then look at some simple circuits on the breadboard and experiment with those.