Hi, I'm not an expert on the subject (yet) but here are my thoughts:
First the relay, if you optically isolate the relay from your PC then you will need another power source to power the relay's coil. You can get sensitive relays quite cheap now that could be powered directly from your PC. Just check that the required current doesn't exceed the maximum current a single output from PC can provide. You'll also need to wire a diode in inverse parallel with coil to protect your PC.
There are two types of TRIACs that you could use. Some of the newer ones are designed to be able to be triggered directly from microcontrollers and other logic level circuits but require you also connect your controlling circuit to neutral. I'm not a fan of this design but that's personal preferences, not sure if it's suitable for your requirements but if you look for ACSwitch and ACSTriac on ST's website you'll find more information (sorry I can't post a link, their site requires flash and I'm on my iPad)
The other solution is to use a normal TRIAC but optically isolate it using something like a MOC3061. This would be my preferred solution and should provide the best protection for your PC. TRIACs can get tricky depending on what you are trying to power, but light bulbs and motors are common loads and there are tons of examples on the net and in datasheets.
Another option would be SSRs (Solid State Relays) which are basically a TRIAC, opto-isolator and an optional snubber in a single package. They are a little more expensive but you would only need one resistor to limit the current to the input and nothing else.
BTW, Velleman sell a kit you can assemble yourself which can do exactly this, it has four inputs and outputs and is based on TRIACs
Hope that helps to some extent