Harmony's are good, and so are URC's, but the sony touch ones are good aswell. I just used a VERY old model(about 5yrs old) for a friend and it was even able to learn buttons and macro's and it already had DISCRETES on the touch that was all laid out. the new ones are a lot more advance than the older ones. check them out:
this one is pc programmable
[Link: sonystyle.com]