You can file a Change of Address form electronically at
www.uscis.gov or you can mail it from any location. (if you have no pending case, you just need form AR11 but if your case is pending, you'll need to call the USCIS). I mailed my AR11 from another country and it was fine. It is very important that you always report a new US address within 10 days BUT you never have to report your foreign address if you move.
Please see their instructions below:
"Regardless of whether or not you are a U.S. citizen, if you choose not to use the electronic change of address notification, you will need to call customer service at 1-800-375-5283 to request that the address on your pending application/petition be changed. If you are not a U.S. citizen, you will also need to complete a paper Form AR-11.
If you are not a U.S. citizen and you have a case pending with USCIS, you will need to do both – call customer service and complete the paper AR-11. Completing an AR-11 does not update your address on any pending case. Also, notifying customer service does not meet the legal requirement of completing an AR-11.
If you mail a paper Form AR-11, we recommend using certified, registered or return receipt mail. This is not currently a requirement of USCIS, however it is advisable to send the AR-11 by a method that will give you documentation that you did mail the form to USCIS, in case there should ever be a question."