It's common enough to have a sandbox, but I don't think that should be our devel environment.  Fwiw, I believe that both devel and staging should eventually go behind our firewall and require VPN for access.

That said, I believe the general reason for a sandbox environment is actually to protect the production infrastructure from developers who are figuring stuff out and might do something less than efficient.  The other way to protect against this sort of problem is in API design (only allow things that you are ok with something using "stupidly").  I tend to believe that designing defensively for "stupid" usage is better, and if that is our goal, then I'm not sure I see the benefit in a separate sandbox environment for developers.

Keep in mind that a 3rd party developer won't actually be able to use anybody's data except their own because they won't have the auth keys for anyone else.