Is it bad to store many files in a single folder?

No the depth of your directory structure has almost no impact to load time.

Maybe if your structure is very depth and the URLs for the images are very long you can hit the maximum length or your markup blows up. But a flat hierarchy should not be a problem as long as you keep the file names short enough.

Then again, if your store everything in one directory, there may be name collisions. But WordPress checks for that during the upload with wp_unique_filename(), so you should not worry about that too.