I personally would create an object that does this for you. That object in the player collision event would set a couple global variables for the player's position in the new room. It would then switch to the new room. You can use only one object and then create multiple instances of that object. For this, I would then use the instance_create() event, which can be set different for each instance. You would set a few variables for the destination room and the position of the player in that room.
The reason I mention setting both the room and the destination position is so you can have multiple teleporters(edges) that lead to different sections of the room, say you have multiple exits on the top that lead to different entrances of the bottom of the next room.