Huh???
I don't tend to disagree with Chris, but I just don't buy the argument in this case.
It may be "better form" to use 'Mouse Up' if your mechanical action is NOT 'Switch/Latch when Released' to avoid double events, but in my opinion, the best form is to use 'Value Change' in conjunction with the 'Switch/Latch when Released' mechanical action. There are always exceptions depending on what you're trying to do, but for me this combination is the best method when using buttons on a GUI in most cases. I am after all changing the value.
'Mouse Up' certainly works, but you can get quirky behavior. Have you ever considered that you can click a blank area of the panel, move the mouse over a button, release the mouse button, and BOOM... fire an event! Hardly desired or intuitive action.
And if you are concerned about the user changing his/her mind, the 'Switch/Latch when Released' provides the capability to drag the mouse off the button and release without firing the event. In fact, the button displays its previous indication when hovered off as an indication to the user that the action won't be performed. This is standard operation for most, if not all, Windows (and I assume MacOS) buttons.
Just my opinion, and as in anything I'm open to discussion and possible persuasion.
-Scott