Yap, it's actually a bit tricky, because there's NO direct link saying "Upload" in WordPress.org. But there is a way:
You have to have a WordPress.org account first. After login with the account, look at the left panel, where resides a link saying: "Theme Authors" under "Themes" main menu. Click on it, and it'll direct you to the theme upload page:
Choose your theme and then press the Upload button. It'll create a new trac record for your theme, and afterward a theme reviewer will be assigned to your theme. Assignment of a theme may take time (even a month) due to the traffic of themes. And after assigning, Reviewing a theme can also take time - so your patient is required.
NOTE: Mozilla Firefox sometimes creates problem uploading theme. In that case, use Google Chrome or Apple's Safari instead. And before Uploading your theme (
theme-name.zip), ensure that there is NO
thumbs.db file exists in any of your theme folders.
If your theme has a new update, just go to the same page, and choose the
.zip file and press the Upload button. It'll automatically assign your new version of the theme to another trac record. And rest of the process is similar to the first time.