Can a linear solenoid be as efficient as a brushed motor with a gearbox?
The parts of a solenoid coil that are far away from the plunger at any given time will dissipate power, but won't impart much useful force.  If one had a solenoid with many short windings along its length, and at each moment only energized the ones that would do useful work, a solenoid could in theory be quite efficient.  Unfortunately, doing that would require having lots of discrete windings and control circuitry for them, which would be rather complicated.

A big advantage of a linear actuator driven by a rotary motor is that if a 3-pole motor would make 100 rotations during the actuator's course of travel, that would be analogous to subdividing a linear solenoid into 300 switched sections.  Putting 3 poles on a rotary motor, and then having a mechanism to turn 100 turns into a linear range of movement, is apt to be a lot cheaper than subdividing a coil into 300 separate pieces.