Systems, methods and computer program products that enable efficient roaming of virtual mobile devices. In one embodiment, multiple PoP locations having a set of common master images are maintained. A communication from a mobile device received at a central facility identifies a user, a location and a type of the mobile device. The central facility determines performance measures for the PoP locations and identifies a preferred PoP location in response to the communication. If the preferred PoP location has available capacity, the central facility directs the preferred PoP location to provision resources and instantiate a virtual device from a selected master image corresponding to the mobile device. If the preferred PoP location persistently stores a user data volume for the user, the virtual device is attached to the stored user data volume. Otherwise, data is transferred from the user's data volume to a cache attached to the virtual device.