Is there any difference at all betyween gauw and binnenkort? Can they be used almost always interchangeably? And is the meaning of straks closer to "later" (rather than "soon")?
"Gauw" is more specifically Dutch-Dutch and unusual in Flanders. But within the Netherlands, the two can indeed be synonyms. "Gauw" can also be used in a meaning more like "quickly", though, e.g. "Ga eens gauw naar de winkel" or "Ik ga nog gauw even een paar dingen doen". In that meaning, you can't use "binnenkort", nor "straks".
Other than that, "straks" generally refers to the same day, it's less common to use it in a more general sense (and even then it only works in some contexts), while "binnenkort" is more vague, in fact usually does not refer to the same day. Whereas "gauw" can be anywhere between a few minutes and a few months depending on context, I would say.