I'm not a native speaker either, but I happened to ask my friend here about these verbs just recently. He told me that in most situations, they are interchangeable. He didn't give me an example of a situation in which they are not, but most of the time it can go either way (I think).
I don't think that there is a "dictionary" distinction between these words, but there is something important to know about these verbs. In the past the common, colloquial word for 'finish' was לגמור, while לסיים was high register. slowly לגמור came to carry a sexual meaning (I think 'to come' is the expression used in English for this meaning). As a result לגמור gradually disappears and is replaced by לסיים. For me it still sounds strange to hear 3-year-olds using לסיים because it is still classified as somewhat high register in my mind, although it's actually not any more.
If I may connect two threads, I want to add a comment. In the thread "סוסתה" I argued that pragmatic rules are important rules of the language, and the story with לגמור-לסיים is another example of such a pragmatic rule. A new speaker of Hebrew might use לגמור for years without understanting why people around him move uncomfortably when he says it.
I am not sure if this applies in every instance or only in the imperative, but siparta li bachur me'israel she im ani omeret "tigmor" le'bachur it definitely will be taken to have sexual connotations... and that if I want to tell someone to finish something I should use "sayem".