Desktop Assistant Pro requires a LAN CTE seat, but is kind of handy. Element manager for the BCM 50 (and soon to be 4.0) gives you a picture of the phone - you can click on a button to change the programming.
If I'm on site, I'll still program the button manually. Heck of a lot quicker.