One issue I have when working with API's such as Monogame and SFML unlike with Game Engines like Unity and Unreal is trying to extract sprites from a spritesheet. I know the method of doing it but it becomes really annoying when you use spritesheets for example that have lots of different sized sprites that are scattered all around the spritesheet. Everything seems to need to be perfectly sized and aligned to be able to extract the sprites correctly, unless you're using a game engine like Unity where you can do something like draw boxes around the sprites you want, no matter the size or position, or have this done for you.
What workflow can I use to quickly select the portions of the image corresponding to each sprite and use those extracted sprites right away in code instead of splitting the sprites into seperate .png's and using them?
TexturePacker is an awesome tool which is about $40 which packs multiple textures/sprites into one optimized spritesheet. It exports the metadata about position, rotation etc. to generic formats usable right from various engines and it allows you to write own exporters.
Even though the application isn't cheap I highly recommend trying it out since there is a trial available.