I'll vote, as I always do, for the MX series remotes and I prefer the ones that don't require a computer and specialized software to setup.
The hardest part of programming them is actually the planning beforehand - figuring out what to name functions and which functions you want in which mode (for example, I have receiver functions like Late Night in both DVD and Cable modes so I don't have to switch back to Receiver mode). Once you get everything labeled, the actual programming takes only a few minutes...and since you don't need a computer to make changes, you can make changes to macros on the fly sitting in front of your equipment.
If you have 10 devices or fewer (and a 'device' can be anything - including lighting) the MX-350 really can't be beat, IMO. If you want to do it on the cheap, the older MX-500 is great but the newer MX total control series fixed a few of the little nits that people had complained about with the MX-500 and again IMO those changes are useful.