First, I will discuss the difference between 「～～したらいい」 and 「～～すればいい」.
The difference between the two expressions stems directly from that between 「たら」 and 「れば」. Both practically mean the same thing, but as for nuance, 「たら」 is more informal and conversational than 「れば」. The difference might not be a significant one in many situatins, but it sure exists.
Thus, 「したらいい」 and 「すればいい」 are interchangeable only for the meaning. Careful speakers might also (try to) make alterations with the other words and phrases within the sentence to reflect the change in formality between 「たら」 and 「れば」. Whether or not those alterations are necessary would totally depend on the actual sentences.
Moving on to the difference between the two expressions I just discussed above and 「～～したほうがいい」. There is a difference in meaning/usage here even though it might not always be reflected in the English translations - "You should ~~", "You'd better ~~", etc.
「したほうがいい」 is used to give or ask for a recommendation when you are basically choosing between TWO (2) possible actions. This would mean choosing between "Action A and Action B" or between "Action A and not taking Action A".
「したらいい」 and 「すればいい」 can be used when the number of possible actions to take is between two and infinity.
Thus, the interchangeability is limited between 「したほうがいい」 and the other two.