As far as I know, 撒谎 and 说谎 have the same meaning of "telling a lie". Is there a difference between them?
There is no essential difference between them and usually they are interchangeable.
May be this is not a good analogy, but:
think about "撒尿", which means piss.
We do it everyday.
We are accustomed to it.
My impression is that 撒谎 applies more to children, while for adult, 说谎 is inclined to telling meticulously prepared lies (quoted from songyuanyao's comment).