I think:
1. Dev + Testing local machines as long as your data is sanitized and you have a fully functional replication of Prod.
2. Production - RDP only, you should not be deving anywhere near prod, so you should not need any connection to it via local machine, way to easy to extract data.
I personally prefer local machines, its always faster and more coherent than having to RDP to servers, especially if they located elsewhere. You have your own machine all set up nicely for efficiency with shortcuts/required programs/etc.
I've done all of them.
1. Local machines within our own network, nice easy happy.
2. RDP from Mauritius to SA with 400ms, develop on servers - Death to all
3. Mixture of local network development and RDP, not bad, but if i connect to my local network, i cannot connect to the other RDP and vice versa because each requires their own VPN connection, drives you mad aswell if you need to quickly switch between environments.