It depends on whether you're talking about formal or informal English.
In formal English, "so" or "very" are neutral, and "too" is negative. All three terms mean that the noun has a lot of the quality under discussion, but "too" also means that having so much is a problem.
To make things more confusing, in informal English, "too" can be used in a positive sense, as hyperbole. So ordinarily, if you say something is "too cute," it means you're criticizing its aesthetics. But if you say, "Oh, my God! That's too cute! I love it!" it just means "very cute."
To sum up:
That picture is very sexy. We're going to sell a million copies!
means you approve of it.
That picture is too sexy. We're going to sell a million copies!
means the same thing but is informal and would only be used in some English dialects. On the other hand:
That picture is too sexy. We can't hang it up in this elementary school!
means that you disapprove of the picture's sexiness.
How can you tell which one the speaker means? Only through context. When in doubt, though, avoid using "too" in this sense unless you disapprove.
You could consider using passive speaker as defined in Wikipedia:
A passive speaker (also referred to as a receptive bilingual or
passive bilingual) is someone who has had enough exposure to a
language in childhood to have a native-like comprehension of it, but
has little or no active command of it.
As it is not a broadly used term, you might have to add something after saying it for example:
He is a passive speaker in French. He does understand it very well, but
can't speak it fluently.
Best Answer
There is a formality distinction between so and very. Using so connotes a degree of familiarity, warmth, surprise, exclaim, and/or incredibility that isn't necessarily present with very.
For example, to say "He is very old." is to note that the person is older than the age that comes to mind then one thinks of old. The word very is generally a neutral intensifier.
However, one would exclaim "She's so old!" if they had just learned the subject's age and was surprised by the answer, or to underscore the subject's advanced age. This would be said in an informal setting, e.g. with friends, and not normally in formal settings, e.g. in writing, to people of authority, or at a black-tie event.
In your other example: I'm very sorry. and I'm so sorry! have similar meanings but differ in formality. One would use the former to express condolences at the funeral of an acquaintance; the latter I use when telling a friend I am running late.