YOu need to go further north on the island for beaches, Melleiha is another resort area about an hr north of Valetta that has hotels with sandy beaches.
There are smaller (ok tiny) beaches at the hotels in St Julians, we stayed at the Westin Dragonara which is a great hotel for families, they have a fantastic Kids Club but only a tiny little private beach. You do all your sunning at the two separate pools. There is a public beach in St George's Bay just down from the Westine (5 mins walk) but its packed and also shared with the Intercontinental Hotel
Otherwise, the island of Gozo, north of Malta is very, very quiet and sleepy with nice beaches - but has very little going on.
We preferred to stay in St Julians so that we could do a few daytrips into Valetta which is well worth visiting, the history of Malta is amazing. We also did a daytrip to Gozo, taking a bus then ferry across.