It would be interesting to see what is actually happening if you have both source and target in Snowflake for the Extract transformation. In a best case scenario this would result in an implicit SQL pass through.
If you activate these options you should be able to see how the SAS/ACCESS interface handles this:
options msglevel=i sastrace=',,,d' sastraceloc =saslog nostsuffx;
Another option would be to replace the Extract transformation with Join (which funny enough doesn't require a join).
Data never sleeps