Move a 3d object from world space in the camera UI

I need to move a non-UI object in my scene to a the position of an object on the Canvas. Here is an illustration of what I am trying to do, the worldspace object to move along the red arrow to the UI element:

I have tried lots of things and searched at length, the best I could do was as below (except itdoesn’t quite work):

void FixedUpdate()
    Vector2 StartPosition = transform.position;  					
    Vector2 DestinationPosition = Camera.main.ScreenToWorldPoint(canvas_UI_element.transform.position); 
    transform.position = Vector3.MoveTowards(StartPosition, DestinationPosition, MoveSpeed);

I have finally come up with a solution that works. Here it is for anyone else that might have trouble doing this:

void FixedUpdate()
    //Get the location of the UI element you want the 3d onject to move towards
    Vector3 screenPoint = ui_element_gameobject.transform.position + new Vector3(0,0,5);  //the "+ new Vector3(0,0,5)" ensures that the object is so close to the camera you dont see it

    //find out where this is in world space
    Vector3 worldPos = Camera.main.ScreenToWorldPoint( screenPoint );

    //move towards the world space position
    transform.position = Vector3.MoveTowards(transform.position, worldPos, currentMoveSpeed);

Im struggling with the same thing.
Were you able to figure out a solution for this?

The solution you have outlined simply moves my cube to another position, but not exactly to the UI element.