Unlike top level Grails artifacts like domain classes, services, taglibs etc., the framework doesn't do anything special with command object classes. An exception to that is if they are defined within a controller source file for a controller which uses the class as a command object, in which case the compiler will automatically rig up the validateable stuff without having to mark the class with the Validateable annotation. If you are defining the command object class in its own source file then you will need the Validateable annotation if you want the thing to be validateable (not all command objects need to be made validateable). Given that, I don't think there is any benefit to having a special place to define these classes source files. The normal thing to do if they aren't defined in a controller source file is to define them under src/groovy/ and unless you have some good reason to deviate from that convention, you probably shouldn't.
Command object classes are almost special kinds of things in Grails, but not really. You can use anything as an argument to a controller action. You could use a class provided by Log4J as a command object if there was some reason to that. Having a special place to define them isn't really justified, IMO.
I hope that helps.