It can actually be used either way -- a lot depends on the tone of voice.
You can say "He's a smooth talker." (and he has completely made me fall in love with him)
or "He's a smooth talker." (so you'd better watch out, because it's all insincere flirting.)
The same with "suave".
These words literally convey a positive meaning, but they are used very often to mean just the opposite.
Tone of voice and context are crucial here!