There aren't Drupal best practices about where to put submodules. You could:
- Put them in a separated sub-directory of "modules" contained in the directory containing the main module
- Put them in a separated sub-directory of the directory containing the main module
- Put them in the same directory containing the main module
Any of those directory structures is used:
- The Views module has a "modules" sub-directory, but that is not for sub-modules; both view.module and views_ui.module are in the same directory that contains the main module.
- The CCK module has a "modules" directory where all the sub-modules are each contained in a separated directory.
- The Panels module has its sub-modules saved in a separated directory contained in the main directory.
- The Views Bonus Pack module uses three different sub-directories of the main directory.
There isn't actually a reason related to how Drupal handles modules, to choose a structure or another one.
There is a reason to choose the first two structures instead of the third one, and that is generally that each module comes with other files that are grouped in directories with the same name (e.g., css, js, templates), and you don't want to mix files that are for different modules.