It is good to use devices for what they are designed for.
Routers are good at routing protocols and using one where you connect to the ISP (and perhaps run BGP) is correct.
Switches are good and cost effective for providing large numbers of access ports for your users.
A stateful firewall is generally required in the middle to protect against attacks. ASA’s can route or bridge traffic but their purpose is to firewall, NAT, and (sometimes) site-to-site VPN. The only reason they route or bridge is to get the packets through the firewall logic.
One missing piece is: what device is going to act as the DHCP forwarder and default gateway for all those internal switchports? If the switch was a L3 switch, it could do it. In a small network the ASA could do it. A medium enterprise would add a layer of hierarchy: an L3 switch for internal routing with a bunch of L2 switches for cheap access ports.
While a cisco device can act as DHCP server, it is recommended to have the Cisco forward DHCP to a dedicated server.
You also need to provide DNS. Having your own DNS resolver with malware-domain filtering is good for security.
For redundancy: double all the devices. But understand that every access port only connects to one access switch. The complexity of adding redundancy causes human-configuration outages, but they are generally shorter because you have the hardware to recover on site. Hardware-caused outages are rare but you don’t want to be down for a day waiting for TAC to ship you something. It’s also nice to be able to reboot one device at a time without causing outages (note the switchport exception).
One other point about using ASA’s as routers: stateful firewalls deny “asymmetric” traffic. So you have to use them at chokepoints where you enforce that traffic goes through them in both directions. That’s also why redundant ASA’s are deployed in “clusters” where two physical boxes act as one logical box in the chokepoint.
Edit: it’s also important to consider the “financial layer” of the OSI model:
(Price per 10-gig port)
Router capable of doing BGP with full internet routes: expensive
Router capable of doing BGP with small number of routes: moderately expensive
ASA: very expensive
L3 switch: moderately expensive
L2 switch: inexpensive
You don’t buy an expensive ASA where a moderately priced L3 switch will do.