Dlookups are slow because they look at every record in the selected table to see if the criteria are met each time it is evaluated. So uf the table is on a different PC/server then an awful lot of data is passed across.
A passthru query is passed to the remote computer and only the records that match the croteria are passed back so much less data transferred.