Position not sync

Options
Hello there i am using Pun for making carrom game i am using Raise events for everything like shot , position sync etc.
i am facing issue that when i am sending array vector3 position to other player at receiver site. object movement is getting jitters and unstable can someone help me ?

this code for sending position using raise event
Vector3[] data = new Vector3[balls.Count * 3];

for (int i = 0; i < balls.Count; i++) {
data[i * 3] = balls.transform.position;
data[i * 3 + 1] = balls.GetComponent<Rigidbody>().velocity;
data[i * 3 + 2] = balls.GetComponent<Rigidbody>().angularVelocity;
}
PhotonNetwork.RaiseEvent(5, data, RaiseEventOptions.Default, SendOptions.SendReliable);


at receiver side using this code

SendPosition((Vector3[])eventcode.CustomData);


private void SendPosition(Vector3[] data)
{
for (int i = 0; i < SpawnBallsScript.Instance.balls.Count; i++)
{
SpawnBallsScript.Instance.balls.transform.position = data[i * 3];
SpawnBallsScript.Instance.balls.GetComponent<Rigidbody>().velocity = data[i * 3 + 1];
SpawnBallsScript.Instance.balls.GetComponent<Rigidbody>().angularVelocity = data[i * 3 + 2];
}
}