Why do exothermic dissolution reactions occur?
Obviously the intramolecular bonds are not stronger than the intermolecular bonds if the majority of the solute dissociates when placed in water. There are some salts ($\ce{AgCl}$, $\ce{BaSO4}$, $\ce{ZnS}$) that have extremely low $\ce{K_{sp}}$ values, meaning the majority of the salt placed in the solution does not dissociate, and are therefore considered insoluble salts. In these salts, the intramolecular bonds are stronger than the intermolecular bonds formed with the water, which explains why only extremely small amounts of these salts dissociate in water.

There are, on the other hand, salts that do dissociate in water. Dissolution requires energy, and this energy is supplied by the kinetic motion of the water. This energy is used in breaking apart lattice structure of the salts, thereby lowering the temperature of the water.

The difference between salts with a negative enthalpy of solution and a positive enthalpy of solution, as you stated, is in formation of bonds between the water and the ions of the salt. The formation of a hydrogen bond is an extremely exothermic process, and accounts for the extremely negative enthalpies of solution of $\ce{HF}$, $\ce{NaOH}$, and $\ce{CsOH}$. Weaker intermolecular bonds also form in the dissolution of these salts and many others as a result of the interaction of the water with the electron clouds of the ions. Interactions between the water and the ions always occur, though to a greater extent in some salts than others.