Parsers for rich formalisms like C&C and Enju come with super-taggers. Super-taggers are quite like part-of-speech (POS) taggers, except that the tags they produce have more information.
For example, C&C produces:
word="undergone" lemma="undergo" pos="VBN" chunk="I-VP" cat="(S[pt]\NP)/NP"
The cat tells you that this is a verb that takes an NP on the right, and then one on the left to form an S.
However, things are not always this straight-forward. For "added constantly to the list", we get:
word="added" lemma="add" pos="VBN" chunk="I-VP" cat="(S[pt]\NP)/PP"
word="constantly" lemma="constantly" pos="RB" chunk="I-ADVP" cat="(S\NP)\(S\NP)"
word="to" lemma="to" pos="TO" chunk="I-PP" cat="PP/NP"
word="the" lemma="the" pos="DT" chunk="I-NP" cat="NP[nb]/N"
word="list" lemma="list" pos="NN" chunk="I-NP" cat="N"
"added", here is transitive, but one of its arguments is a PP. However, not all PPs fill valency slots.
I have no idea if you would find it more straight-forward than Semafor, or less. Boxer would give you discourse representation structures (DRSes) which include the kind of info of the Semafor output. I suppose you'll have to evaluate it for yourself.