If they were said by themselves as a command for someone to sing, then yes they are very similar.
But "Sing for me" can mean "Sing in my place". You would never use "Sing to me" in this context.
"I have a bad cold. I cannot perform. Please sing for me."
This is an example where "sing to me" is the only choice.
The look on her face as she walks into the room sings to me of peace and contentment.
Her look isn't exactly singing but you seem to feel as though she is singing when you see her.
So as you can see, "Sing to me"/"Sing for me" can have different meanings depending on context.
Interested in Language