it depends what you want to detect. Here you have a comparison of tools to detect mirna:
I am currently working in isomirs accuracy, but use miraligner if you want to look to isomirs. (you will find the links in the post)
If you want to detect as much as possible, I would use miraligner for mirnas. For the rest of small RNAs, I am doing a comparison between seqcluster and srnabench, but not finished yet. I have to say that at least with seqcluster you can determine better difference between groups, for instance and take into account multi-mapped reads. You can use any aligner you want that produece SAM format. I would go for bowtie2, gem or bwa.
hope this help.