toとforの区別はむずかしいですよね。
端的に言えば、toは「あなたにとってマジ[重要](https://eikaiwa.dmm.com/uknow/questions/32117/)、モロ重要、直接[影響](https://eikaiwa.dmm.com/uknow/questions/36586/)あり」という意味合いになり、forの場合は影響が大きくない、間接的な感じになります。
I go to Tokyo.と言えば、東京に向かってまっしぐらなイメージがありますね。toには矢印のニュアンスがあるからです。これをそのまま思い描けば、toとforの違いをイメージしやすくなると思います。
参考になれば幸いです。
I did this to you.「私はあなたにこれをやった」
単にyouに対して何かをやったという事実だけが述べられています。
I did this for you.「私は[あなたのため](https://eikaiwa.dmm.com/uknow/questions/33541/)を思ってこれをやった」
youのためを思って何かをやったということなので、その何かはyouに対してでなくてもいいです。
例えば
I brought my child’s old toys to your son. I thought it’s good for you.
「私の子どもの古いおもちゃをあなたの息子に持ってきました。あなたにとって良いかと思って。」
I brought my child’s old toys for your son.
「私の子どもの古いおもちゃをあなたの息子のために持ってきました。」
発言している人の意識が微妙に違うのがわかります。
This is a gift to you. 「あなたへの[贈り物](https://eikaiwa.dmm.com/uknow/questions/59044/)だよ」 ←発言者からとは限らない
This is a gift for you. 「(私から)あなたへの贈り物だよ」
意味自体が変わってしまうものもあります。
She is very good to me. 「彼女はとても私に良くしてくれる」
She is very good for me. 「彼女は私にとって良い(素晴らしい女性)」
なかなか短く説明するのは難しいですが、基本的に「[〜のため](https://eikaiwa.dmm.com/uknow/questions/59098/)」と訳してしっくりくるのであれば for であることが多いと思います。