Jose,
Llenar de dataset por medio del datareader sería más lento en caso de que fueras muchos registros, ya que tendría que hacerlo registro por registro.
¿No sería posible llenar el dataset por medio del datareader en una sola línea de código y que internamente pase los datos?