PGSQL: Which is faster, many constraints or a single trigger?
A short answer would be: generally check constraints are faster than triggers.

However, if you think a trigger will be easier to maintain than multiple check constraints, do not hesitate and try this solution. Performance deterioration will not be high. I used this solution a few times, in all cases the triggers were up to 10-15% slower than check constraints. In my opinion this is not an exorbitant price for the extra capabilities and flexibility that triggers give. 

An additional important advantage of triggers is that you may reject incorrect rows instead of raising an exception, which can be particularly comfortable in bulk inserts or updates. Information on rejected rows should be stored in some way, e.g. in a form of a log, in an auxiliary (temporary) table or using notifies.