Is there a consensus "best technique" for accessing properties across application?

Relating to Project 98 objects - I've seen/tried -

expression.GetField(FieldID) and

Both techniques seem to have the same performance.

The reason I ask - when looping thru a Collection the processing time increases dramatically as I reference more properties.
The objects are "early bound" and yet the performance is terrible. Running the code in
native Project98 is MUCH faster.