Itween Move To is a perfect action for this. Make sure you're aware of local vs world movements. If it doesn't move in the direction you want, then you're using the wrong axis? One way to return to your starting position is to do a Get Position first - store as a vector 3 variable, then Move To this variable after the first Move To is done.
For a hover, you could make the object a child of a blank game object.. then give the blank object a Move To action with a ping pong loop type. It might need to be an independant FSM depending on how you setup states for the first object.