captfantastic - if iTunes Match ran for three hours and uploaded only 9 songs, that's very unusual. Some possiblities come to mind - some less likely than others, but still worth looking into so they can be ruled out.
• ITunes match will accept files up to 200Mb. The most common music files are under 20Mb. Could you give us an idea of the file size of the tracks you just processed?
• iTunes Match will accept various lossy and lossless formats, but those lossless formats - ALAC, WAV and AIFF are not simply copied if they need to be uploaded. They are transcoded within iTunes to an AAC and it is the AAC that is uploaded. Transcoding happens during the time we normally think of as just being used to upload files, and as transcoding speed is probably dependent on the the processing power of the host computer, it could add significantly to upload time. Do you have any ALAC, WAVE or AIFF files?
• Upload speed, of course is dependent on your internet connection. Some internet providers monitor how much bandwidth their customers are using and after a certain threshold is reached, slow them down. Other internet connection methods simply aren't that fast to begin with (dialup, DSL). Can you tell us how you connect to the internet?
If you have broadband and know the upload speed, you should visit one of the "test your internet connection" sites and run the test. If it's well below what it should be, I'd call your internet provider.
If you have trouble keeping a connection, that might well be part of the problem. I don't know how iTunes Match handles connection interruptions, but one thing that could happen would be that it would simply stop processing. It might start up again as a matter of routine, but if it keeps getting interrupted, a lot of songs could simply be still in waiting status.
If you determine there is nothing unusual with respect to file size/type, and your connection is fine, then I would proceed with the assumption there is a corrupted file somewhere. I would suggest creating an empty library, importing some of the "waiting" songs to the new library and running Match from there. In case you do not know how to create a new library, on a mac, quit iTunes, then start it back up holding down the option key. If you are using Windows, I believe holding down the shift key when starting iTunes does the same thing. This will also be the way you re-load your main library when that happens.
Once the new library has some music in it, enable iTunes match and let it process those tracks. See if things don't go more smoothly. If it is working, you might want to continue adding music identified as "waiting" in the other library to the one that's working.