Team 230 has been using the Logitech gamepad (now the F310) for 6 years now and programming in C++. We too have had an excellent experience with them. They are supported through the WPILib just like the kit joysticks as well as many others you can buy. Although we do not use it to drive the robot but rather for our operator controls, in particular we use the gamepad rather than xbox or other similar controllers because the joysticks have better sensitivity and deadband area. This makes those joysticks more useful for controlling other mechanisms too. I agree that they do have an issue with stress on the cord which can fray/break causing issues so we also get new ones for competition use each year. No matter how much we remind people not to wind up the cord so tightly... they still do it.
If you need any help with interfacing to them with your C++ code feel free to pm me or post questions here.