Depends on the application. In general I prefer the NPN because it can be driven directly by a logic output. And the VCC of the relay can be higher than the logic level. For example you can control a 12v, 24v (or more) relay with a TTL output.
The PNP is useful when a High side driver is required. It needs an extra transistor or an Open collector output when the VCC of the relay is greater that the logic level. That transistor or OC output should withstand the VCC of the relay.
Dont forget the protecting diode (as mentioned by betwixt) and the resistors at the base of the transistors.
Also notice that one is inverting and the other is not.