I use WebService::GData::YouTube, you can check out http://code.google.com/apis/youtube/overview.html and find some upload hints there for elsewhere and otherwise. My guess for the excessively long processing time is that you might be uploading a troublesome codec or similar glitched / performance hit, there again the ./apis/ above will help.

Having an API key upload or a syndicated channel is crazy fast processing, and that makes sense.