Colliders are the way to go. You could try to detect overlapping rectangles but it would probably not be as robust as Unity's built-in collision system.
If you decide to build your own, I'd recommend writing a couple of simple actions: GetGUIElementRect and RectsOverlap. These do seem generally useful, so I'll add them to the next update...