An important skill for robots is the effective rearrangement of multiple objects so as to deal with clutter in human spaces. This paper proposes a simple but general primitive for rearranging multiple objects and its use in task planning frameworks. Rearrangement is a challenging problem as it involves combinatorially large, continuous C-spaces for multiple movable bodies and with kinematic constraints. This work starts by reviewing an existing search-based approach, which quickly computes solutions for monotone challenges, i.e., when objects need to be grasped only once so as to be rearranged. This work focuses on non-monotone challenges, as well as labeled problems, which some of the related efforts do not address. The first contribution is the extension of the monotone solution to a method that addresses a subset of non-monotone challenges. Then, this work proposes the use of the resulting non-monotone solver as a local planner in the context of a higher-level task planner that searches the space of object placements and for which stronger guarantees can be provided. The paper aims to emphasize the benefit of using more powerful motion primitives in the context of task planning for object rearrangement. Experiments in simulation using a model of a Baxter robot arm show the capability of solving difficult instances of rearrangement problems and evaluate the methods in terms of success ratio, computational requirements, scalability and path quality.