When you daisy chain chips like the HEF4794B you want to connect the shift output of the first one to the data input of the second one and so on. You connect all of their clocks to the same clock output pin. If you have 60 of them I suspect that will be too much load and you may need to divide them into smaller groups and use buffers on the clock signal. Likewise with the store pin. Connect them all together. After you have shifted 8*(number of packages) bits, hit the store.
The advantage of drivers like the MAX7219 is in letting you drive 64 leds with only a single package. The disadvantage is that they do it by scanning through them so a given LED can only be on 1/8th of the time. This limits how much light you can put out. It is plenty for a display, but if you are making a light it might not be enough. The addressing would get a little funny, but you could drive all the LEDs with just 5 MAX7219 chips, 6 would make the addressing a little more straightforward.
Inside the Arduino IDE you can get to some example sketches. There is one for basic serial communication that shows how to read a character from the input and do something with it. At 9600 baud you can send about 1000 characters/second, so you won't have a problem with datarate. You could send a 1 or a 0 for each of the 300 leds and still have enough speed.