Es una buena opción para mantener las celdas marcadas.
Recuerda que las tablas reusan las celdas , por eso al hacer scroll se pierden o salen marcadas las que no deberían estar.
Para evitar eso usas el método prepareForReuse de UITableViewCell para dejar la celda en su estado "por defecto", y luego en el método que tengas de configuración de la celda , puedes comprobar si la celda debe ir marcada o no.