You can certainly reverse a gravity assist to lose velocity. Most inner system probes do so.
For a classic gravity assist the object has to leave the influence of the assisting body so for capturing an asteroid the answer is technically no, there is no way to achieve a low altitude circular orbit of a single body purely by gravity assists.
It is certainly possible to take an eccentric earth crossing orbit, use assists to circularize it towards earths orbital velocity and use combinations of earth/moon interactions to either reach earth moon L4/l5 (hence why there are natural objects at the trojan points already) or in a highly eccentric earth orbit. Sort of reversal of this or these or in fact most of the missions listed here as 'gravity assist'. Note that all of them needed some form of boost out of LEO, so reversing the trajectories for an asteroid would involve a substantial rocket for the final maneuver or leaving the object in its near lunar eccentric orbit and using reasonably powerful (lunar orbiter class) rockets to match orbits close enough to actually visit it.
For the last part of the question, the answer is yes there really is no better way to add/remove velocity from an object than a gravity assist since it is independent of object mass, unlike anything involving rockets. The problem is that it is very slow (years/decades), depends on finding a suitable candidate in the first place and messing up leaves your asteroid hitting earth.
So the general assumption for an asteroid return mission would be getting as much as possible of the D/V budget from gravity assists, but some reasonable fraction would still involve a rocket.