I am importing multiple users. Each user can belong to multiple companies. So from Source I will get rows like these
userId companyID userinfo companyinfo
12
Brian's comment about Cache Mode is spot-on, but I would add that in my experience the best way to handle things like this in SSIS is to import all of the data into a staging table, and then handle the lookups and relationship-creation in a stored procedure on the SQL Server. These kinds of things go much faster in TSQL than they do in SSIS. SSIS is fastest when it's simplest.