How can i drag objects smoothly with touch? Please help me with this code!

the object keeps on dropping after sometime and when i drag it fast then it loses hold!

if(t.phase==TouchPhase.Moved)
			{
				print("Moving touch");
				Ray ray=Camera.main.ScreenPointToRay(t.position);
				
				RaycastHit hit=new RaycastHit();
				if(Physics.Raycast(ray,out hit, 1000f))
				{
					if(hit.collider.gameObject==this.gameObject)
					{
						
						Vector3 curScreenPoint=new Vector3(t.position.x,t.position.y,Screenspace.z);
						Vector3 curPosition=Camera.main.ScreenToWorldPoint(curScreenPoint)+offset*t.deltaTime;
						transform.position=curPosition;
						
					}
					
				}
			}

This might help (helped me anyways)