Due to a lack of redaction time every time I have to experience with that submission process, this isn’t a full, step-by-step guide but a brief compilation of the issues I ran into (and the solutions that worked for me).

I’ll skip the certificate and provisioning profile part because that’s something “intuitive” enough and if anything else fails you can just revoke the previous ones and create a brand new production signing certificate and a provisioning profile that matches. An important thing to note though is the keychain utility (not very sure how it’s exactly called), which allows you to export your keys, and also view which keys are installed (and whether or not you just have the public key or also the private one, which is of interest here).

Ok, so now you have a signing certificate (with the private key), and the provisioning profile, and you launch the package compilation targeting the App Store in Titanium. Titanium tries to do everything automatically, which includes a few steps of manipulating windows and auto-clicking some buttons. However, doing so requires some specific permissions, and you are likely to encounter, the first time you do it, an error message saying “UI element scripting is not enabled. Check “Enable access for assistive devices””. I think that error message tries to point you to the ad hoc settings window, however this window was move in Mac OS 10.9 (Mavericks), and Titanium still points to the old one. The new setting is located in System Preferences → Security & Privacy → Privacy → Accessibility. There you can check Titanium to allow it to “control your computer” (if the checkboxes aren’t clickable, unlock the settings by clicking on the lock at the bottom-left of the window) (source).

If you’re on Mavericks that should be enough. However, further changes were made in Mac OS 10.10 Yosemite, and when you run Titanium packaging again, as of Titanium 3.4.0 you should land onto a window listing your real and virtual devices: the compilation was done successfully, but the step to package and submit is left unfinished. The missing steps are however easy enough, provided that you know what has to be done.
First you should open the XCode Provisioning Organizer. For this, simply open XCode (Titanium should already have opened it for you), then in the menu: Window → Organizer (source).
Once in XCode Organizer, you should probably land on the right tab, but if you don’t, pick the “Archive” tab. I didn’t take a screenshot so here is one from someone else. Now click distribute, and make sure to uncheck “Include app symbols for your application to receive symbolicated crash logs from Apple” otherwise you will probably get an error saying “rsync failed” (source).

Well, hopefully that’s it now. This last step send your packaged application to your iTunes account, and now the package is ready to be added to your application submission/update form.