It's going to depend on the amount of data you are importing, the amount of data in the lookup tables, and number of lookups, server configuration, and a host of other things.
I typically use lookups (even a lot of them) if the lookup tables are relatively small or on servers other than my destination server. When I have a really big table to do a lookup in, I typically stage both data sets, create appropriate indexes, and use T-SQL.
Remember SSIS is row-by-row processing. It is really good at it. T-SQL in SQL server is bad at row-by-row processing but really good at set-based operations. Try to use the tool that works for your current situation and don't be afraid to mix them.
Also take note that the lookup component is case-sensitive in it's join and very sensitive to white space and data types.