I totally understand your nervousness. Your App Store credentials probably feel like the keys to the kingdom. The question you have to answer is whether or not you trust your offshore development team. If the answer is no, you could use a "remote control" app like TeamViewer (http://www.teamviewer.com/en/index.aspx) to log the developers into iTunes Connect. If the answer is yes, you could add one or more of the team members as Users/Testers in iTunes Connect. I, for one, usually hand over my credentials. After 3 years of iOS development, a couple dozen apps, and probably 10 different programmers, there's been no funny business. Here's one last thing to remember: people selling development services in the form of contract work usually aren't interested in becoming app entrepreneurs. They run small lifestyle businesses, not startups, and they actually stand to lose more than they gain by ripping off a client. Even if they do rip you off, I think you stand to gain a lot more by giving your programmers the benefit of the doubt rather than disrupting their workflow to protect yourself. It all comes back to trust. If you don't trust them, fire them. (Also, be sure they're making daily commits to a code repository on Bitbucket or Github so that you always have the latest version of the code.)
Hope this helps, Austin
I would agree that the real question is: what is your level of trust with your outsourcing partner? If you have a good relationship with them I don't see any issue in giving them the credentials.
As a best practice, it's always a good idea to maintain as much control over your assets and resources as possible when dealing with a far away vendor (or any vendor, really). Owning the source control repository, etc. is a great practice.
But, there is a diminishing return on trying to protect yourself from your own vendor. In the end, you'll have more success in outsourcing by investing in a solid partner who you can build trust with so that you don't have to worry about this kind of thing.
If you are dealing with a low-price vendor who's trustworthiness is unknown, you might consider relieving yourself of that stress by working with more reputable vendors. But, if this is just a new relationship and there are no red-flags I'd probably just send the credentials and save everyone some trouble.
TeamViewer is great for things like this, but it's certainly not a great way to build trust with teams so I'd only use it if you are worried about sharing your credentials more than you are concerned with building the relationship.
Probably it will be fine! Good luck - Dave
We were a little bit hesitating first couple of times with our customers in terms of asking for App Store credentials and wrote instructions for them since it's really private. But it turned out that most of our customers suggested to share credentials with us not to spend time on publication process that I would not call obvious. Since then we started to ask and work with customers' credentials completely maintaining their accounts.
Like it was mentioned in the previous answer -- outsourcing is a different model of business assuming a bunch of activities aimed at serving client's development process. Having own app that we develop and sell by ourselves I would say that these activities are completely different and requires different skillset that just iOS development. So I'd say that yes it looks to me like a common practice.