The way to do this is to use an action with an object parameter, and only modify the instances passed to the action. That gives the user control over which objects to modify, as changing every instance in the whole layout (text, UI elements, etc) is obviously not useful.
An object parameter passes the object type which has an 'instances' array. For each instance you can directly assign its x and y properties, and then you must call set_bbox_changed() on the instance after any changes.