3-D printing is really just a method for rapid prototyping: you can make arbitrary shapes quickly and cheaply, but there are much faster and cheaper options for large runs. (Also, I prefer SLS (Selective Laser Sintering) to 3D printing, but I digress.) Injection moulding is probably the most prevalent. After the blank key is moulded, it's either moulded again (for doubleshots: It stands for double shot injection moulding) or a printed pad is affixed to the top (the keycap is usually clearcoated). This is by far the most common for cheaper keyboards. Other methods for finishing the legends is to etch or engrave them with a laser, or use "dye sublimation" on PBT (Dyesub does not work on ABS, as far as I know).
DIY keycaps are primarily made from either moulding (Like injection moulding, but on a much smaller scale), or by building up layers of another material (for colour or shape) and finishing it off with a protective clear coat.