You asked for "recommended." The recommended practice is not to store the password at all. Design your service so that it will accept an access token unique to that service. You accept the username and password, the server hands you back an access token, you store the access token, and you throw away the password (and possibly the username). A standardized way of doing that, with common server and client frameworks available, is OAuth. (And much as OAuth drives me a little crazy because of its complexity, it really is a fine protocol, and it's very standard.)
The correct place to store the auth token is the keychain. As Zaph notes, "double-encrypting" the secret doesn't buy you anything because you now have another secret (the encryption key) to store. Where do you store that? If you have a more secure place to store your encryption key, put the token there. If it makes you feel better to obfuscate it a little bit with a hard-coded key, fine, but the security benefit is pretty minor.
If you cannot design your service in the recommended way, and must store the raw password, then store it in keychain. See above. All the same arguments apply. Keychain is the most secure place on the phone. That doesn't mean it's unbreakable. It just means it's less breakable than any other place you would store things.