The differences really come down to degree (how much) and formality.
Very obvious<-----------to suggest something -------------- to imply something -----------------------------to insinuate --------------------> completely hidden meaning
to suggest - to propose or to hint at something -- it is a little bit uncertain. If you suggest that someone does something, you're not sure if they really will. If you perform an experiment, the data may suggest a new theory -- but you still have to test it to find out if it is real.
to imply - is to say something indirectly. The listener/reader needs to interpret your words and tone of voice in order to understand your meaning. The speaker does this intentionally.
EXAMPLE: He said, 'She spent the night at my place." = 'He implied that she had slept with him'. [This doesn't make it true and since this isn't said with the intent to hurt the other person we need to say 'imply']
to insinuate something is to imply [propose or hint at] something negative -- it is never positive. It also is done with ill will (bad intention). Insinuate is also usually used in formal language.
"Our country's economy was great until X took office" = 'The politician insinuated that the economic decline was due to his opponent'
special case:
to be suggestive = to imply something sexual in nature