This is applied to the position property of the Transform plug-in:
driftDirection = degreesToRadians(effect("Drift Over Time")("Direction") - 90);
x_offset = Math.cos(driftDirection);
y_offset = Math.sin(driftDirection);
driftSpeed = effect("Drift Over Time")("Speed (pixels/second)");
[x_offset,y_offset] * driftSpeed * (time-inPoint)
driftDirection = degreesToRadians(effect("Drift Over Time")("Direction") - 90);
x_offset = Math.cos(driftDirection);
y_offset = Math.sin(driftDirection);
driftSpeed = effect("Drift Over Time")("Speed (pixels/second)");
easeTime=2;
if (time-inPoint <= easeTime) {[x_offset,y_offset] * linear(time,0,easeTime,0,driftSpeed) * (time-inPoint)} else {[x_offset,y_offset] * driftSpeed * (time-inPoint)};
Mylenium