The meanings differ. I'm on the beach - I'm on the sand, at the edge of the water. I'm at the beach - I am at a place by the ocean. I'm in the beach - Unlikely, unless you are jokingly saying you are buried in the sand.
To be honest, the sentence I have heard the most is the first one. However I have heard the second one twice or thrice that made me curious and led me to throw a question on this forum.
Can you clarify the usage of 'on the beach' and 'at the beach'? I still haven't got it clearly. I shall be thankful.