its a lot simpler than you think, almost any controller that sends midi messages will do.
I use an M Audio Oxygen and as luck has it, there is a control surface set up for it in preferences.
My opinion is if you want to get a good idea on how easy a controller will work is either:
A- Respond to this post and others will share info
B- Look in Preferences/ Control surface or ACT and see the list of Controllers sonar supports.