ご質問ありがとうございます。
例1の場合は"Good timing!"または"Great timing!"(タイミングが良かった!)というフレーズが合っていると思います。
例2の場合、最初の"I'm in luck!"とは「私は運が良い!」、そして"You're in luck!"とは「君は運が良い!」という意味になります。いらないワンピースを欲しがっている人にあげられて私は運が良い、という意味では"I'm in luck!"を使い、相手がワンピースを買わずに貰えたから運が良い、という文脈でしたら"You're in luck!"が使えます。
"You're going to the bookstore now? That's perfect timing! Can you get me an eraser?" 「これから本屋行くんだよね。ちょうどよかった!消しゴム買ってきてくれない?」 となります。
"I want a new dress. That's perfect timing! I have one I don't need, so I'll give it to you." 「ワンピース欲しいんだよね〜。ちょうどよかった! 私いらないのあるからあげるよ。」 となります。
「ちょうどよかった」というフレーズは、"That's perfect timing!" や "That's just right!" で表現できます。