So I found the answer. It turns out it's Tweening, for anyone in the future. Here's something to help:
export var to = Vector2(60,100) #where we're moving to when we leave screen
export var from = Vector2(250,450) #which part of the pipeline we travel back to
export var speed = 400 #fast sprite? slow sprite?
onready var tween = get_node("Tween")
var property = "transform/pos"
#set our start position
func moveToTarget(end, start):
var distance = start.distance_to(end)
var time = distance / speed
tween.interpolate_property(self, property, start, end, time, Tween.TRANS_LINEAR, Tween.EASE_IN)
tween.interpolate_property(self, "transform/scale", Vector2(0,0), Vector2(1,1), .8, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)